System for targeting location-based communications

ABSTRACT

Embodiments of the invention are directed to systems, methods and computer program products for providing targeted location-based communications. An exemplary apparatus is configured to receive an encoded signal, decode the encoded signal such that embedded data is retrieved, send the embedded data a remote server; and receive a message based at least partially on sending the embedded data. Another exemplary apparatus is configured to provide the encoded signal by receiving data input, receiving a host signal, embedding the data input within the host signal such that an encoded signal is generated, and transmitting the encoded signal. A third exemplary apparatus is configured to provide the targeted communications by storing one or more messages associated with an entity, receiving data, selecting at least one of the one or more messages based at least partially on the data received, and sending the at least one of the one or more messages selected.

CLAIM OF PRIORITY UNDER 35 U.S.C. §119

This Non-provisional patent application claims priority to U.S.Provisional Patent Application Ser. No. 61/761,577, filed Feb. 6, 2013,entitled “TARGETING LOCATION-BASED COMMUNICATIONS”, and to U.S.Provisional Patent Application Ser. No. 61/838,766, filed Jun. 24, 2013,entitled “TARGETING LOCATION-BASED COMMUNICATIONS”, both of which areassigned to the assignee hereof and hereby expressly incorporated byreference herein.

BACKGROUND

Typically, businesses have no way to identify consumers that are withintheir business location or to provide targeted communications toconsumers who are present in the location. This limits the business toalternative means for providing consumers with relevant information asthey frequent these locations. For example, merchants typically utilizemailing services to provide consumers with coupons, special in-storedeals or sales ads. These methods fail to provide real-timelocation-specific communications, such as promotional offers, toconsumers.

BRIEF SUMMARY

Embodiments of the invention are directed to systems, methods, andcomputer program products for providing location-based communications.Data input and a host signal are sent to an encoding device forencoding. The encoding device embeds the data input within a host signalto generate an encoded or watermarked signal. The embedded data ismasked by the host signal, usually comprising an audio signal, andtransmitted in conjunction with the audio signal throughout a merchantarea by a broadcasting device. The encoded signal is received by auser's mobile device, which decodes the encoded signal and sends theembedded data or a signal based on the embedded data to a serverapplication. The server application may look up the embedded data orotherwise determine at least one message to send to the mobile devicebased on the embedded data. For example, the server application may usea lookup table to determine a message corresponding with the embeddeddata. The server application then sends the message(s) to the mobiledevice for presentation to a user.

According to some embodiments of the invention, a system for providescommunications to users present in at least one location of a pluralityof locations and includes a message server to store one or more messagesassociated with a messaging campaign of a third party entity in asearchable database based on instructions received from the third partyentity through a messaging campaign interface operatively connected withthe message server; a content management server to store one or moreinstructions associated with the messaging campaign of the third partyentity, the instructions comprising message data and instructions tocause an encoding device to generate at least one encoded signalcomprising embedded data based on the message data; at least oneencoding device maintained by a media distribution entity to generate atleast one encoded signal comprising the embedded data based at least inpart on instructions from the content management server; a plurality ofbroadcast devices maintained by the media distribution entity tobroadcast the at least one encoded signal proximate at least one of theplurality of locations based at least in part on instructions from thecontent management server, the encoded signal being identifiable bymobile devices carried by users in the at least one location; andwherein the message server is further to receive the embedded data orother data representing the embedded data, wherein the embedded data orother data is transmitted by the at least one mobile device in responseto the at least one mobile device identifying the embedded data; selectat least one of the one or more messages based at least partially on thereceived embedded data or other data; and send the selected at least onemessage to the at least one mobile device.

In some embodiments, the message server comprises the content managementserver or the content management server comprises the message server. Insome embodiments, the third party entity comprises a product supplierthat supplies at least one product to the at least one location and theselected at least one message is associated with the at least oneproduct.

In some embodiments, the media distribution entity manages a mediadistribution network comprising the plurality of broadcast devices andthe at least one encoding device. In some such embodiments, at least oneof a plurality of encoding devices is operably connected to each of theplurality of broadcast devices and wherein each encoding devicegenerates at least one encoded signal based at least in part oninstructions from the content management server. In some of theseembodiments, the instructions from the content management server arereceived by the content management server from the third party entitythrough the messaging campaign interface operatively connected with thecontent management server. In others of these embodiments, theinstructions from the content management server are received by thecontent management server from the media distribution entity through amedia distribution interface operatively connected with the contentmanagement server.

According to some embodiments of the invention, a computer programproduct for providing communications to users present in at least onelocation of a plurality of locations includes a non-transitorycomputer-readable medium comprising a set of codes for causing acomputer to store one or more messages, on a message server, themessages associated with a messaging campaign of a third party entity ina searchable database based on instructions received from the thirdparty entity through a messaging campaign interface operativelyconnected with the message server; store one or more instructions, on acontent management server, the instructions associated with themessaging campaign of the third party entity, the instructionscomprising message data and instructions to cause an encoding device togenerate at least one encoded signal comprising embedded data based onthe message data; generate, using at least one encoding devicemaintained by a media distribution entity, at least one encoded signalcomprising the embedded data based at least in part on instructions fromthe content management server; broadcast, using a plurality of broadcastdevices maintained by the media distribution entity, to the at least oneencoded signal proximate at least one of the plurality of locationsbased at least in part on instructions from the content managementserver, the encoded signal being identifiable by mobile devices carriedby users in the at least one location; and receive, using the messageserver, the embedded data or other data representing the embedded data,wherein the embedded data or other data is transmitted by the at leastone mobile device in response to the at least one mobile deviceidentifying the embedded data; select, using the message server, atleast one of the one or more messages based at least partially on thereceived embedded data or other data; and send, using the messageserver, the selected at least one message to the at least one mobiledevice.

In some embodiments, the message server comprises the content managementserver or the content management server comprises the message server. Insome embodiments, the third party entity comprises a product supplierthat supplies at least one product to the at least one location and theselected at least one message is associated with the at least oneproduct.

In some embodiments, the media distribution entity manages a mediadistribution network comprising the plurality of broadcast devices andthe at least one encoding device. In some such embodiments, at least oneof a plurality of encoding devices is operably connected to each of theplurality of broadcast devices and wherein each encoding devicegenerates at least one encoded signal based at least in part oninstructions from the content management server. In other suchembodiments, the instructions from the content management server arereceived by the content management server from the third party entitythrough the messaging campaign interface operatively connected with thecontent management server. In yet other such embodiments, theinstructions from the content management server are received by thecontent management server from the media distribution entity through amedia distribution interface operatively connected with the contentmanagement server.

According to embodiments of the invention, a method for providingcommunications to users present in at least one location of a pluralityof locations includes storing one or more messages, on a message server,the messages associated with a messaging campaign of a third partyentity in a searchable database based on instructions received from thethird party entity through a messaging campaign interface operativelyconnected with the message server; storing one or more instructions, ona content management server, the instructions associated with themessaging campaign of the third party entity, the instructionscomprising message data and instructions to cause an encoding device togenerate at least one encoded signal comprising embedded data based onthe message data; generating, using at least one encoding devicemaintained by a media distribution entity, at least one encoded signalcomprising the embedded data based at least in part on instructions fromthe content management server; broadcasting, using a plurality ofbroadcast devices maintained by the media distribution entity, to the atleast one encoded signal proximate at least one of the plurality oflocations based at least in part on instructions from the contentmanagement server, the encoded signal being identifiable by mobiledevices carried by users in the at least one location; and receiving,using the message server, the embedded data or other data representingthe embedded data, wherein the embedded data or other data istransmitted by the at least one mobile device in response to the atleast one mobile device identifying the embedded data; selecting, usingthe message server, at least one of the one or more messages based atleast partially on the received embedded data or other data; andsending, using the message server, the selected at least one message tothe at least one mobile device.

In some embodiments, the message server comprises the content managementserver or the content management server comprises the message server. Insome embodiments, the third party entity comprises a product supplierthat supplies at least one product to the at least one location and theselected at least one message is associated with the at least oneproduct.

In some embodiments, the media distribution entity manages a mediadistribution network comprising the plurality of broadcast devices andthe at least one encoding device. In some such embodiments, at least oneof a plurality of encoding devices is operably connected to each of theplurality of broadcast devices and wherein each encoding devicegenerates at least one encoded signal based at least in part oninstructions from the content management server. In other suchembodiments, the instructions from the content management server arereceived by the content management server from the third party entitythrough the messaging campaign interface operatively connected with thecontent management server. In yet other such embodiments, theinstructions from the content management server are received by thecontent management server from the media distribution entity through amedia distribution interface operatively connected with the contentmanagement server.

According to embodiments of the invention, a system for providingcommunications to users present in a location includes a message serverto store one or more messages in a searchable database; at least oneencoding device to generate at least one encoded signal; a contentmanagement server to store one or more instructions associated with themessage, where the instructions cause the encoding device to generate atleast one encoded signal comprising embedded data based on the messagedata; at least one broadcast device that broadcasts the at least oneencoded signal at the location, the encoded signal being identifiable bymobile devices carried by users in the location; and wherein the messageserver is further to receive a signal or other data is transmitted bythe at least one mobile device in response to the at least one mobiledevice identifying the embedded data; select at least one of the one ormore messages based at least partially on the received signal or otherdata; and send the selected at least one message to the at least onemobile device.

According to embodiments of the invention, a system for providingcommunications to users present in at least one location of a pluralityof locations includes a message server to store one or more messagesassociated with a messaging campaign of a third party entity in asearchable database based on instructions received from the third partyentity through a messaging campaign interface operatively connected withthe message server; a content management server to store one or moreinstructions associated with the messaging campaign of the third partyentity, the instructions comprising message data and instructions tocause an encoding device to generate at least one encoded signalcomprising embedded data based on the message data; at least oneencoding device maintained by a media distribution entity to generate atleast one encoded signal comprising the embedded data based at least inpart on instructions from the content management server; a plurality ofbroadcast devices maintained by the media distribution entity tobroadcast the at least one encoded signal proximate at least one of theplurality of locations based at least in part on instructions from thecontent management server, the encoded signal being identifiable bymobile devices carried by users in the at least one location; and amobile device application running on at least one mobile device carriedby a user in the at least one location, the mobile device application todecode the at least one encoded signal to determine the embedded dataand communicate the decoded embedded data or other data representing thedecoded embedded data to the message server; and wherein the messageserver is further to receive the embedded data or other datarepresenting the embedded data from the mobile device application;select at least one of the one or more messages based at least partiallyon the received embedded data or other data; and send the selected atleast one message to the mobile device application running on the atleast one mobile device.

In some embodiments, the mobile device application comprises anapplication maintained by the third party entity. In some embodiments,the mobile device application comprises an application maintained byanother third party entity without access to the messaging campaigninterface or the one or more messages associated with the messagingcampaign of the third party entity. In some such embodiments, the mobiledevice application further comprises a decoding application comprising adecoding key for use in decoding the at least one encoded signal, thedecoding application provided by the media distribution entity to theother third party entity for integration with the application of theother third party entity; and wherein the media distribution entitymanages access of the third party to the messaging campaign using anadministrator role of the messaging campaign interface.

Additionally, the system may include a content management apparatus thatenables the user to configure or control the content of the one or moremessage. In some embodiments, the user may create, edit, modify, manage,or delete content via a plurality of devices.

BRIEF DESCRIPTION OF THE DRAWINGS

Having thus described embodiments of the invention in general terms,reference will now be made to the accompanying drawings, where:

FIG. 1 is a diagram illustrating a targeted location-based communicationsystem environment, in accordance with embodiments of the presentinvention;

FIG. 2 is a diagram illustrating a targeted location-based communicationsystem environment, in accordance with embodiments of the presentinvention;

FIG. 3 is a diagram illustrating a targeted location-based communicationsystem environment, in accordance with embodiments of the presentinvention;

FIG. 4 is a flowchart illustrating a general process flow for targetinglocation-based communications, in accordance with embodiments of thepresent invention;

FIG. 5 is a flowchart illustrating a general process flow for providingan encoded signal, in accordance with embodiments of the presentinvention;

FIG. 6 is a flowchart illustrating a general process flow for encoding asignal, in accordance with embodiments of the present invention;

FIG. 7 is a flowchart illustrating a general process flow for applying amessage vector, in accordance with embodiments of the present invention;

FIG. 8 is a flowchart illustrating a general process flow for targetinglocation-based communications, in accordance with embodiments of thepresent invention;

FIG. 9 is a flowchart illustrating a general process flow for decoding asignal, in accordance with embodiments of the present invention;

FIG. 10 is a flowchart illustrating a general process flow for providingtargeted location-based communications, in accordance with embodimentsof the present invention;

FIG. 11 is a diagram illustrating a key sequence, in accordance withembodiments of the present invention;

FIG. 12 is a diagram illustrating a key sequence, in accordance withembodiments of the present invention;

FIG. 13 is a diagram illustrating embedding multiple bits, in accordancewith embodiments of the present invention;

FIG. 14 is a diagram illustrating a sample frame of a host signal, inaccordance with embodiments of the present invention;

FIG. 15 is a diagram illustrating a watermarked frame, in accordancewith embodiments of the present invention;

FIG. 16 is a diagram illustrating recovering a message, in accordancewith embodiments of the present invention;

FIG. 17 is a diagram illustrating recovering a message, in accordancewith embodiments of the present invention;

FIG. 18 is a diagram illustrating recovering a message, in accordancewith embodiments of the present invention;

FIG. 19 is a diagram illustrating a layered spread spectrum, inaccordance with embodiments of the present invention;

FIG. 20 is a diagram illustrating an exemplary 10-Bit watermark signal,in accordance with embodiments of the present invention;

FIG. 21 is a flowchart of a process flow for encoding a data signal overultrasonic frequencies, in accordance with embodiments of the presentinvention;

FIG. 22A is a diagram illustrating an exemplary 1-Bit watermarked frame,in accordance with embodiments of the present invention;

FIG. 22B is a diagram illustrating an exemplary 0-Bit watermarked frame,in accordance with embodiments of the present invention;

FIG. 23A is a diagram illustrating the multiplication of a watermarkedsignal with the 1-Bit secret key sequence, in accordance withembodiments of the present invention;

FIG. 23B is a diagram illustrating the multiplication of a watermarkedsignal with the 0-Bit secret key sequence, in accordance withembodiments of the present invention;

FIG. 24 is a diagram illustrating the recovery of the multipliedwatermarked signal, in accordance with embodiments of the presentinvention;

FIG. 25 is a diagram illustrating the resulting average key sequencevalues of the multiplied watermarked signal, in accordance withembodiments of the present invention;

FIG. 26 is a diagram illustrating the relationships between elements ofthe communication system, in accordance with embodiments of the presentinvention;

FIG. 27 is a diagram illustrating an entity-controlled communicationsystem, in accordance with embodiments of the present invention;

FIG. 28 is a flowchart illustrating an exemplary process for anentity-controlled communication system, in accordance with embodimentsof the present invention;

FIG. 29 is a diagram illustrating an exemplary use case for anentity-controlled communication system, in accordance with embodimentsof the present invention;

FIG. 30 is a diagram illustrating a retailer-controlled communicationsystem, in accordance with embodiments of the present invention;

FIG. 31 is a flowchart illustrating an exemplary process for aretailer-controlled communication system, in accordance with embodimentsof the present invention;

FIG. 32 is a diagram illustrating an exemplary use case for aretailer-controlled communication system, in accordance with embodimentsof the present invention;

FIG. 33 is a diagram illustrating a third-party-controlled communicationsystem, in accordance with embodiments of the present invention;

FIG. 34 is a flowchart illustrating an exemplary process for athird-party-controlled communication system, in accordance withembodiments of the present invention;

FIG. 35 is a diagram illustrating an exemplary use case for athird-party-controlled communication system, in accordance withembodiments of the present invention;

FIG. 36 is a user interface for managing a campaign, in accordance withembodiments of the present invention;

FIG. 37 is a user interface for selecting a campaign type, in accordancewith embodiments of the present invention;

FIG. 38 is a user interface for creating a campaign, in accordance withembodiments of the present invention;

FIG. 39 is a user interface for viewing and sorting an overview ofanalytics of managed campaigns, in accordance with embodiments of thepresent invention;

FIG. 40 is a user interface for viewing information related towatermarking technologies and how they may be applied in a retailsetting, in accordance with embodiments of the present invention; and

FIG. 41 is a user interface for scheduling a campaign, in accordancewith embodiments of the present invention;

DETAILED DESCRIPTION OF EMBODIMENTS OF THE INVENTION

Embodiments of the present invention now may be described more fullyhereinafter with reference to the accompanying drawings, in which some,but not all, embodiments of the invention are shown. Indeed, theinvention may be embodied in many different forms and should not beconstrued as limited to the embodiments set forth herein; rather, theseembodiments are provided so that this disclosure may satisfy applicablelegal requirements. Like numbers refer to like elements throughout.

As used herein, the terms “messages” and “communications” may be usedinterchangeably throughout the specification. It should also be notedthat the term “entity” may refer to the terms “merchant” and “business”may be used interchangeably throughout the specification. As usedherein, an entity may refer to a “user” of a mobile device, which mayembody a merchant, a retailer, a business owner, a customer, a shopper,a marketer, an advertiser, a person, group of persons, organization,group of organizations, and/or group of organizations and persons.

Embodiments of the invention are directed to systems, methods, andcomputer program products for targeting location-based communications.The invention enables an entity to provide an encoded signal that isreceived and decoded by a mobile device. As an example, a host signal (amusical track originating from a program server, for example) may beembedded with data to generate an encoded signal. The encoded signal isthen transmitted or broadcasted and then received by a mobile device.The mobile device is used to decode the signal and retrieve the dataembedded therein. The embedded data or another signal based on theembedded data may be sent to an application server, where it is matchedwith one or more messages. The message(s) are then communicated to themobile device, which may present a display based on the message(s). Asused herein, the encoded portion of the signal may be referred to as a“watermark” and the encoded signal may be referred to as a “watermarkedsignal.”

Referring now to the referenced figures, a system for providinglocation-based targeted offers and/or other information is provided.While the method for providing location-based targeted offers and/orother information may include a plurality of different steps, oneexemplary embodiment includes the steps of generating an encoded signalby embedding data within an audio signal, transmitting the encodedsignal such that it is received by a mobile device, using the mobiledevice and/or an application therein to decode the encoded signal andretrieve the embedded data, using the mobile device and/or anapplication therein to send the embedded data or another signal based onthe embedded data to an application server such that it is matched withone or more corresponding messages, and sending the message(s) to theuser's mobile device, where the user 102 may be presented an offer orother information.

Referring now to FIG. 1, a targeted location-based communication systemenvironment 100, in accordance with one embodiment of the presentinvention, is illustrated. As shown, the communication system 108 iscapable of sending and/or receiving information from the applicationserver 106. Likewise, the application server 106 is capable of sendingand/or receiving information from the mobile device 104. Thiscommunication may occur across the network 101. The network 101 may be aglobal area network (GAN), such as the Internet, a wide area network(WAN), a local area network (LAN), or any other type of network orcombination of networks. The network 101 may provide for wireline,wireless, or a combination wireline and wireless communication betweendevices on the network. The communication system 108 may connect with abroadcasting device 111 for broadcasting an audible signal within alocation, such as a merchant's business location. In one embodiment, thebroadcasting device 111 may be or include a playback device, such asplayback device 210 shown in FIG. 2. In some embodiments, the audiblesignal is an encoded signal that includes embedded data. The encodedsignal may be generated by an encoding device 209 shown in FIG. 2 andmay include digital watermarking or ultrasonic technologies.Specifically, the encoding device 209 is capable of embedding datawithin a host signal, such as a musical track. This encoded signal canthen be transmitted by the broadcasting device 111 without interferingwith a listener's listening experience. The encoded signal can then bereceived by the mobile device 104, which is capable of decoding thesignal to retrieve the embedded data. In other embodiments, thecommunication system 108 is not connected with the broadcasting device111, but rather, the broadcasting device 111 is connected to a programserver, such as program server 207 of FIG. 2, and in yet otherembodiments, the communication system 108 is operatively connected withthe program server 207 and/or the playback device 209 of FIG. 2, whichis connected to the broadcasting device 111.

The embedded data may be a decoded version of a watermarked messageand/or signal. The mobile device 104 may then send the embedded dataand/or another signal based on the embedded data to the applicationserver 106 and/or elsewhere. The embedded data may be transmitted inresponse to the mobile device 104 decoding the encoded signal toidentify and/or retrieve the embedded data contained in the encodedsignal. In other words, the embedded data (or other received data) mayinclude instructions for the mobile device 104 to forward some or allthe embedded data or another signal based at least in part on some orall the embedded data to an application server 106 and/or elsewhere. Inother embodiments, an application running on the mobile device 104 mayinclude instructions for the mobile device 104 to forward some or allthe embedded data or another signal based at least in part on some orall the embedded data to an application server 106 and/or elsewhere.

The application server 106 may include a processing device 134 thatreceives the embedded data transmitted by the mobile device 104. As usedherein, the term “processing device” generally includes circuitry usedfor implementing the communication and/or logic functions of theparticular system. For example, a processing device may include adigital signal processor device, a microprocessor device, and variousanalog-to-digital converters, digital-to-analog converters, and othersupport circuits and/or combinations of the foregoing. Control andsignal processing functions of the system are allocated between theseprocessing devices according to their respective capabilities. Theprocessing device 134 may include functionality to operate one or moresoftware programs based on computer readable instructions 140 thereof,which may be stored in a memory device 136.

The application server 106 may further include a communication device132 that is operatively coupled to the processing device 134. Thecommunication device 132 is capable of sending communications to themobile device 104 in response to the processing device 134 receiving theembedded data or other signal from the mobile device 104. The processingdevice 134 uses the communication device 132 to communicate with thenetwork 101 and other devices on the network 101, such as, but notlimited to, the communication system 108 and the mobile device 104. Thecommunication device 132 generally comprises a modem, server, or otherdevice for communicating with other devices on the network 101.

The processing device 134 is also operatively coupled to the memorydevice 136. The memory device 136 may house computer readableinstructions 140 which may include a server application 142. In someembodiments, the memory device 136 includes data storage 138 for storingdata related to the targeted location-based system environment 100including, but not limited to, data used by the server application 142,or information provided by the user 102, mobile device 104, and/orcommunication system 108. For example, the data storage 138 may storeall communications (including one or more message) received from abusiness. The server application 142 may then send the storedcommunications to a user 102 within the respective business location.

The application server 106 may be operatively coupled over a network 101to the mobile device 104, and, in some embodiments, to the communicationsystem 108. The communication system 108 may include an end systemand/or interface used by a business, such as a computer terminal. Thecommunication system 108 may also include and/or be connected withcommunication and/or broadcasting devices, such as a speaker system orbroadcasting device 111. It should also be noted, in some embodimentsthe mobile device 104 may be interchanged with other end consumersystems, such as a computer. In this way, the application server 106 cansend information to and receive information from the mobile device 104and the communication system 108 to provide targeted location-basedcommunications to a user 102. FIG. 1 illustrates only one example of anembodiment of a targeted location-based communication system environment100, and it will be appreciated that in other embodiments one or more ofthe systems, devices, or servers may be combined into a single system,device, or server, or be made up of multiple systems, devices, orservers.

In the embodiment illustrated in FIG. 1, the server application 142enables the user 102 to interact with the system. First, the serverapplication 142 enables a user 102 to receive information based onhis/her geographic location proximate to a business, via the mobiledevice 104. Next, the server application 142 enables a business tomanually input communications, via the communication system 108, relatedto offers and/or other information they wish to provide the user 102.The server application 142 may be capable of gathering communicationsfrom a website using numerous techniques such as web scraping. Forexample, a business may post a communication, such as a weekly sales ad,on its business website and the server application 142 can capture theweekly sales ad through web scraping. Once captured, the websitecommunication may be stored and used to create a response message forcommunication to a user.

Alternatively, or in conjunction, an entity, such as a merchant, maymanually configure or control communications using an interface, such asa communication system 108 interface, provided over network 101 usingthe server application 142 and/or using application 162. The serverapplication 142 may also be configured or controlled by a user 102associated with a third party, such as an advertising agency, amarketing agency, or an application provider, who is responsible formanaging a business's mobile marketing efforts. The communication system108 may be utilized for transmitting messages (information, offers,advertisements, or the like) to potential customers' mobile devices 104within a predetermined distance of a physical business establishment.Furthermore, the communication system 108 may enable the user 102 toconfigure or control one or more physical business establishmentssubstantially simultaneously. For instance, the user 102 may configurethe communication system 108 one time and have the changes take effectacross multiple retail locations. To configure or control the content ofthe offer, message, or the like, the present invention may include acontent management platform via which the retailer, the entity, or athird party may upload or edit unique content, images, text, or the likeand distribute the content across one or more program servers 207.

In some embodiments, the server application 142 of the applicationserver 106 enables or allows the user 102 to communicate, using themobile device 104, the user's presence in a location based on theembedded information decoded by the mobile application 122. Thecommunication sent from the mobile device 104 may be sent in response touser input indicating a desire to send the communication based on thedecoded embedded data, and in many embodiments, the communication issent automatically, that is, in response to the mobile device 104decoding the embedded data from the encoded signal. In some embodiments,the mobile device 104 may send a communication in response to decodingthe embedded data in the form of text communications (e.g., SMS format),voice communications, direct or indirect wireless network connectionwith the application server 106, and/or the like. In many embodiments,the user 102 may receive, in response to the sent communication, aresponse including a message in the form of an email, text, pop-upnotification, or the like that is tailored to the embedded data and/orother signal based on the embedded data. The message may also betailored to the user 102 based on information associated with the user102. For example, the merchant may possess a database of informationassociated with their frequent shoppers. When a frequent shopper entersa predetermined range of a retail location configured in thecommunication system 108, the communication system 108 may transmit viathe network 101 to the frequent shopper's mobile device 104 a specialoffer exclusive to the retailer's most frequent shoppers. Theinformation associated with the user 102 may be stored by the apparatusin the application server 106 or elsewhere. All in all, tailoring themessage based on embedded data, user information, purchase history,demographic information, location information, or the like may alsoenable the merchant, the entity, or the third party to precisely targetspecific segments of customers.

The response may be a message that has been chosen by a merchant,business or other entity associated with the location of the user 102.This message may be chosen by the entity using the communication system108 as an interface and stored, for example, in the data storage 138 ofthe application server 106. The response message may be presented to theuser 102 through an interface on the mobile device 104.

Response messages or communications are provided to users 102 based onthe proximate position of the user's mobile device 104 with respect to abusiness. In this way, the user 102 may receive more beneficial offersthrough the targeted location-based communication system 100 thanthrough other offer programs. Thus, the offers provided through thetargeted location-based communication system 100 may be or includespecial offers that are provided only to users 102 through the system100 and are not provided to the customer population at large.

An entity, such as a business, may use the communication system 108 toprovide the server application 142 with information and/or data forinclusion in one or more response messages. In some embodiment, theresponse message may be an offer for a product. The server application142 may then store in the application server 106 or elsewhere the datarelated to a message from the business such as, but not limited to theproduct, the message details, the expiration date for the offer, and thelike. In this way, the server application 142 may have access to allmessages available from all businesses utilizing the targetedlocation-based communication system 100, in a database. Thus, theapplication 142 may respond to received embedded data or other signalsfrom many different businesses and/or business locations by using theembedded data to determine appropriate response messages to send each ofthe mobile devices, such as mobile device 104, initiating communicationwith the application server 106.

The server application 142 may provide computer readable instructions140 to the processing device 134 to match a message or communicationstored in the data storage 138 (which may have previously been, forexample, received from a communication system 108 and stored in the datastorage 138 of the application server 106) with a mobile device 104 of auser 102 based on the user's 102 location, more specifically, based onembedded data provided by the user's 102 mobile device 104. The serverapplication 142 sends the response messages or communications to a user102, using a network 101, to the user's mobile device 104.

The server application 142 may initiate a response message orcommunication to a user 102 based on one factor or a combination offactors. For example, application server 106 may consider not only theembedded data but also may consider other factors such as the time ofday, the day of the week, and the like in making a determinationregarding the appropriate response message for the user 102. Thecommunication may be an offer for products that the user 102 may beinterested in. The user 102 may have an interest in communicationsrelated to breakfast, lunch, or dinner specials based on the time of dayin which the user 102 frequents a restaurant. To this extent a userentering a restaurant during one of these times may receive an encodedsignal embodied by the music being played within the restaurant. Theuser's mobile device 104 may then decode the encoded signal and send theembedded data or other signal to the application server 106. Inresponse, the user 102 may receive a special offer on his or her mobiledevice 104. In some embodiments, the offer may correspond to a merchantin proximity to where the user 102 is currently located.

The communication system 108 generally includes a communication device152, a processing device 154, and a memory device 156. The processingdevice 154 is operatively coupled to communication device 152, and thememory device 156. The communication system 108 may include an inputdevice such as a keyboard device to receive information from anindividual associated with the communication system. The communicationsystem 108 may additionally include a reader device including, but notlimited to, a magnetic strip reader, a barcode scanner, a radiofrequency (RF) reader, a character recognition device, a magnetic inkreader, a processor for interpreting codes presented over an electricalor optical medium, a biometric reader, a wireless receiving device,and/or the like. In some embodiments, the reading device receivesinformation that may be used to communicate instructions via thecommunication device 152 over a network 101, to other systems such as,but not limited to the application server 106 and/or other systems. Thecommunication device 152 generally comprises a modem, server, or otherdevice for communicating with other devices on the network 101.

The communication system 108 includes computer readable instructions 160stored in the memory device 156, which in one embodiment includes anapplication 162. A communication system 108 may also refer to any deviceused to provide information, messages and/or communications to be sentto a user 102, including but not limited to, specifying embedded data,or transmitting signals. In some embodiments, the communication system108 may refer only to a plurality of components. For example, thecommunication system 108 may refer to a user device, or a user deviceand a merchant device interacting with one another to send and receivecommunications.

In some embodiments, the communication system 108 may serve as aninterface between a merchant and the application server 106 to enable amerchant to specify one or more communications that may ultimately bereceived by users (e.g., using a mobile device) in particular locations.In some embodiments, the communication system 108 may serve as aninterface between a merchant and the program server 207, encoding device209 and/or playback device 210 (all of FIG. 2) to enable the merchant tochange the data to be embedded in the host signal, thereby changing thecommunication (i.e., the watermarked signal) ultimately received by auser at a particular location. In yet other embodiments, thecommunication system 108 may serve as an interface between a merchantand both the application server 106 and the program server 207, encodingdevice 209 playback device 210 and/or broadcasting device 111.

In embodiments where the communication system 108 interfaces with theprogram server 207, encoding device 209 playback device 210 and/orbroadcasting device 111, the communication system 108 may enable themerchant to manage (i.e., change or edit) the data that is to beembedded within a host signal. The embedded data may be a number whichcorresponds to a specific offer which the merchant wants to send tousers within a respective business location. The merchant can alter theoffer that is sent by changing the number that is embedded within thehost signal. For example, during morning hours a restaurant can specifyto embed a number “1” within the host signal where the number “1”corresponds to an offer for a breakfast special. Likewise, during theafternoon the restaurant can specify to embed a number “2” within thehost signal where the number “2” corresponds to an offer for lunchspecials.

In some embodiments, the communication system 108 is or includes aninteractive computer terminal that is configured to initiate,communicate, process, and/or facilitate sending one or morecommunications to a user 102. A communication system 108 could be orinclude any device that may be used to communicate with a user 102 orthe application server 106, such as, but not limited to, a digital sign,a magnetic-based payment device (e.g., a credit card, debit card, etc.),a personal identification number (PIN) payment device, a contactlesspayment device (e.g., a key fob), a radio frequency identificationdevice (RFID) and the like, a computer, (e.g., a personal computer,tablet computer, desktop computer, server, laptop, etc.), a mobiledevice (e.g., a smartphone, cellular phone, personal digital assistant(PDA) device, music-playback device, personal GPS device, etc.), amerchant terminal, a self-service machine (e.g., vending machine,self-checkout machine, etc.), a public and/or business kiosk (e.g., anInternet kiosk, ticketing kiosk, bill pay kiosk, etc.), a gaming device(e.g., Nintendo Wii®, PlayStation Portable®, etc.), and/or variouscombinations of the foregoing.

In some embodiments, the communication system 108 may be operated in apublic place (e.g., on a street corner, at the doorstep of a privateresidence, in an open market, at a public rest stop, etc.). In otherembodiments, the communication system 108 is additionally oralternatively operated in a place of business (e.g., in a retail store,post office, banking center, grocery store, factory floor, etc.). Inaccordance with some embodiments, the communication system 108 may notbe operated by the user of the communication system 108. In someembodiments, the communication system 108 is operated by a mobilebusiness operator or a POS operator (e.g., merchant, vendor,salesperson, etc.). In yet other embodiments, the communication system108 is owned by the entity offering the communication system 108providing functionality in accordance with embodiments of the inventiondescribed herein.

The communication system's 108 application 162 enables the communicationsystem 108 to be linked to the application server 106 to communicate,over the network 101, information related to messages to be transmittedto users. In this way, the application 162 associated with thecommunication system 108 may provide the application server 142 withvarious communications such as an appropriate geographic proximity offermatch for the user 102. In one example, the user 102 enters a businessestablishment, the user's mobile device 104 receives an encoded signal,decodes the signal, and sends embedded data retrieved by decoding thesignal to the application server 106, and receives a message sent fromthe application server 106 in response to the embedded data.

The application 162 associated with the communication system 108 mayalso receive information from the application server 106. Theapplication 162 in the communication system 108 typically receives anaudio signal from the application 142, such that the application 162associated with the communication system 108 may transmit or initiatetransmission of the signal to the user 102. In this regard, theapplication server 106 and/or communication system 108 perform one ormore functions similar to the functions performed by the program server207 discussed below with reference to FIG. 2.

FIG. 1 also illustrates a mobile device 104. The mobile device 104 mayinclude a communication device 112, a processing device 114, and amemory device 116. The processing device 114 is operatively coupled tothe communication device 112 and the memory device 116. The processingdevice 114 uses the communication device 112 to communicate with thenetwork 101 and other devices on the network 101, such as, but notlimited to, the application server 106. The communication device 112generally has a modem, server, or other device for communicating withother devices on the network 101.

The mobile device 104 may have computer readable instructions 120 storedin the memory device 116, which in one embodiment includes the userapplication 122. Application 122 may cause the processing device 114 toreceive and decode an encoded signal, and send embedded data or anothersignal to the application server 106 as discussed elsewhere herein ingreater detail. The mobile device 104 may also include data storage 118located in the memory device 116. The data storage 118 may be used tostore information related to a received signal, decoded signal, embeddeddata, received communications and/or the like. A “mobile device” 104 mayor include any mobile communication device, such as a cellulartelecommunications device (i.e., a cell phone or mobile phone), personaldigital assistant (PDA), a mobile Internet accessing device, or othermobile device including, but not limited to portable digital assistants(PDAs), pagers, mobile televisions, gaming devices, laptop computers,cameras, video recorders, audio/video player, radio, GPS devices, anycombination of the aforementioned, or the like. Although only a singlemobile device 104 is depicted in FIG. 1, the targeted location-basedcommunication system environment 100 may contain numerous mobile devicessimilar to mobile device 104 and carried by a plurality of users 102.

Referring now to FIG. 2, a targeted location-based communication systemenvironment 200 is shown, in accordance with embodiments of theinvention. As illustrated, the targeted location-based communicationsystem environment 200 is capable of broadcasting an encoded signal at agiven location. The targeted location-based communication system mayinclude a program server 207 for housing various media content includingaudio and video files that may be used as hosts for encoding awatermark, thereby resulting in an encoded signal or watermarked signal.The program server 207 may be included within the communication system108 (FIG. 1) so that an entity may manipulate a playlist for a location.

The program server 207 generally includes a communication device 204, aprocessing device 206, and a memory device 208. The processing device206 is operatively coupled to the communication device 204 and thememory device 208. The processing device 206 uses the communicationdevice 204 to communicate with the network 101 and other devices on thenetwork 101, such as, but not limited to, the encoding device 209. Theencoding device 209 may be included as a part of the communicationsystem 108 as seen in FIG. 1. The communication device 204 generallycomprises a modem, server, or other device for communicating with otherdevices on the network 101.

As further illustrated in FIG. 2, the program server 207 includescomputer readable instructions 212 stored in the memory device 208,which in one embodiment includes a program server application 214. Insome embodiments, the memory device 208 includes data storage 211 forstoring data related to the targeted location-based system environment200. For example, the program server 207 may store a plurality of hostsignals in the data storage 211 of the program server 207. One or morehost signals may be sent from the program server 207 to an encodingdevice 209 using the communication device 204. The host signal may be anaudio file such as a musical track or voice communication.

The encoding device 209 may include a communication device 272, aprocessing device 274, and a memory device 276. The processing device274 is operatively coupled to the communication device 272 and thememory device 276. The processing device 274 uses the communicationdevice 272 to communicate with the network 101 and other devices on thenetwork 101, such as, but not limited to, the program server 207 (andthus the communication system 108), application server 107 and/or theplayback device 210. The communication device 272 generally comprises amodem, server, or other device for communicating with other devices onthe network 101. As further illustrated in FIG. 6, the encoding device209 may include computer readable instructions 280 stored in the memorydevice 276, which in one embodiment includes an encoding application282.

At the encoding device 209, the host signal may be received using thecommunication device 272. The encoding device 209 may then use software,embodied by the application 282, to embed data within the host signalresulting in an encoded signal. The process of embedding data within thehost signal may include converting the data to be embedded to a signaland masking the data signal with the host signal such that an encodedsignal, including both the data signal that is representative ofembedded data and the host signal, is generated. In an embodiment wherethe host signal is an audio file, the encoded signal may be saved as anew audio file and stored within the data storage 278 of the encodingdevice 209. The encoded signal may then be sent to a playback device 210and broadcast at a location may be initiated by the playback device 210.The playback device 210 typically includes an electronic circuitdesigned for receiving, processing, and/or playing an audio signal(either audible or non-audible by humans), a preamplifier, an amplifier,and a speaker. In other embodiments, the playback device 210 may be anymobile communication device, such as a cellular telecommunicationsdevice (i.e., a cell phone or mobile phone), personal digital assistant(PDA), a mobile Internet accessing device, or other mobile deviceincluding, but not limited to portable digital assistants (PDAs),pagers, mobile televisions, gaming devices, laptop computers, cameras,video recorders, audio/video player, radio, any combination of theaforementioned, or the like.

The playback device 210 may also be or include hardware and/or softwareto open the media file including the encoded signal or process theencoded signal in order to initiate broadcast of the encoded signalusing a broadcasting device 111. One or more of the program server 207,the encoding device 209 and/or the playback device 210 may be housedwithin a single device or may be a combination of two or more devicesworking in collaboration. In one embodiment, for example, a single boxhouses the program server 207, the encoding device 209 and the playbackdevice 210. In some embodiments, for example, the program server 207 andits components discussed above perform one or more of the functionsdiscussed in association with one or both the encoding device 209 andthe playback device 210.

As illustrated by FIG. 3, in other embodiments, the playback device 210may store a plurality of host signals in the data storage 318 of theplayback device 210. In some embodiments, storing a plurality of hostsignals includes storing one or more audio files. Also, either inaddition to the audio files stored at the playback device 210 or insteadof storing the audio files at the playback device 210, one or more audiofiles may be stored in the program server 207 and sent to the playbackdevice 210. At least one host signal can be sent from the playbackdevice 210 to an encoding device 209. The host signal may be an audiofile such as a musical track or voice communication. The audio file maybe a file that is identical to a master track. In one embodiment, thehost signal is sent by the playback device 210 to the encoding device209 as an audio file. In an alternative embodiment, the host signal issent from the playback device 210 to the encoding device 209 bybroadcasting the host signal and recording the broadcasted audio usingthe encoding device 209. In various embodiments, the audio file beingsent and/or received may be either an analog or digital signal and maybe transmitted via the network 101, a satellite network, a Wi-Finetwork, a Bluetooth network, a wired or wireless communicationsnetwork, or the like. Furthermore, the playback device may be configuredto convert an analog signal to digital signal or a digital signal to ananalog signal via a conversion process or a conversion circuit. Forexample, an audio file can be sent from the program server 207 to theplayback device 210 in a digital file format and converted to an analogfile format at the playback device 210. Likewise, the host signals beingsent and/or received may be either an analog or digital signal. Forexample, a host signal can be sent from the playback device 210 in adigital file format and converted to an analog file format at theencoding device 209.

In various embodiments, the playback device 210 may include acommunication device 312, a processing device 314, and a memory device316. The processing device 314 is operatively coupled to thecommunication device 312 and the memory device 316. The processingdevice 314 uses the communication device 312 to communicate with thenetwork 101 and other devices on the network 101, such as, but notlimited to, the program server 207 and/or the encoding device 209. Thecommunication device 312 generally includes a modem, server, or otherdevice for communicating with other devices on the network 101. Theplayback device 210 includes computer readable instructions 320 storedin the memory device 316, which in one embodiment includes application302.

At the encoding device 209, the host signal may be received using thecommunication device 272. The encoding device 209 may receive the hostsignal as an audio file, signal representing the audio file or byrecording the host signal as it is being broadcasted. The encodingdevice 209 may then use software, embodied by the application 282, toprocess the host signal and embed data within the host signal. Theencoded signal may then be sent to a broadcasting device 111 forbroadcasting within a location. The encoded signal being sent and/orreceived may be either an analog or digital signal. The broadcastingdevice may be an amplifier or speaker system capable of broadcasting anaudio signal.

Referring now to FIG. 4, a method for targeting location basedcommunications is illustrated, in accordance with embodiments of theinvention. At step 402 data input and a host signal are sent andreceived for encoding. In the embodiment illustrated in FIG. 2, the datainput and host signal are sent by the program server 207 and received bythe encoding device 209. At step 404 the encoding device 209 embeds thedata input within the host signal to generate an encoded signal. At step406 the encoded signal is transmitted to a device that is capable ofbroadcasting the encoded signal within a respective location. In someembodiments, the encoding device 209 may dually function as abroadcasting device and broadcast the encoded signal. At step 408 theencoded signal is broadcasted, by the broadcasting device 111, within arespective location and received by a mobile device 104. At step 410 themobile device 104 decodes the encoded signal to retrieve the embeddeddata input. The embedded data is then sent by the mobile device 104 andreceived by a second device, such as the application server 106, at step412. At step 414, a message, based at least partially on the embeddeddata, is sent by the application server 106 to the mobile device 104.

Referring now to FIG. 5, a method 500 for providing an encoded signal isillustrated, in accordance with embodiments of the invention. In anexemplary embodiment, the method comprises a first step 502 forreceiving an input of data. After data has been received, the method mayinclude generating a data signal based at least partially on the datainput. Additionally, an audio signal may be received at step 504. Thesignal corresponding to the data input may then be embedded within theaudio signal to render a single encoded signal at step 506.Subsequently, the encoded signal may be transmitted to a device at step508 for identifying users to receive messages with certain content. Itshould be noted that method 500 may be executed by one or more deviceswithin the targeted location-based communication system 100, 200 and/or300, such as the application server 106, the communication system 108,the program server 207, the encoding device 209 and/or the playbackdevice 210.

Method 500 may be implemented, for example, by one or more of thecomponents illustrated in FIGS. 2 and 3. As a specific example, one ormore steps of method 500 may be implemented by the application server106, program server 207 and/or playback device 210. Further exemplaryimplementations are discussed at length above with reference to FIGS. 2and 3.

In an exemplary embodiment, the method 500 may be executed by theencoding device 209. In such embodiments, the encoding device 209 isassociated with an application 282 contained therein. The application282 is configured to execute computer readable instructions 280 forencoding signals. The computer readable instructions 280 associated withthe application 282 may vary depending upon the method step that isbeing executed. For example, at event 502 the system is configured toreceive data input. In such an embodiment, the application 282 isconfigured to execute several computer readable instructions 280 forreceiving data input. In one embodiment, upon receiving data input, thesystem is configured to generate a data signal based at least partiallyon the data input. The data input may be data in which a user wishes toembed within a host signal. A data signal may be generated using asignal generator. As such the received data is input into a signalgenerator such that a data signal representative of the data input isgenerated in response. It should be noted that the data signal may begenerated independent of any information being provided about the hostsignal. In an alternative embodiment, the data input does not have to beconverted to a data signal prior to being embedded in the host signal.In such an embodiment, the data is represented by a randomly generatedkey-sequence that is embedded in the host signal. In another example, atevent 204 the system is configured to receive a host signal. In such anembodiment, the encoding device 209 is associated with an application282 that is configured to execute several computer readable instructions280 for receiving host signals, such as songs, public addressannouncements and the like.

The encoding device 209 may rely on software and/or hardware as a meansfor encoding signals. For example, the encoding device may rely onsoftware and/or hardware as a means for receiving data input or hostsignals. The encoding device 209 may include electronic circuitry suchas, but not limited to, some combination of diodes, transistors, gatesand/or other logical components that encode the data within the hostsignal. In an instance that the method 500 is executed by an alternativedevice within the system, the alternative device may comprise a similarelectronic circuitry to aid in encoding data within a host signal.

In one embodiment, the encoding device 209 is equipped with additionalhardware to aid in encoding signals. For example, the encoding device209 may comprise near-field communication systems, such as Bluetoothand/or other wireless technology that aids in encoding signals. To thisextent, the encoding device 209 may use the wireless technology as ameans for receiving host signals and/or transmitting an encoded signal.Other hardware to aid in encoding signals may include microphonehardware associated with the encoding device 209. The microphonehardware may be used as a means for receiving a host signal. Forexample, in one embodiment, the microphone hardware associated with theencoding device 209 is capable of receiving and recording signals ordata that needs to be embedded within a host signal. In another example,the encoding device 209 may comprise a keyboard for inputting data intothe encoding device 209. For example, in one embodiment, the keyboardhardware associated with the encoding device 209 is capable of allowingan individual to manually input data into the encoding device 209. Thedata input received may be numbers, words, phrases, letters,alphanumeric combinations, and the like.

Additionally, the encoding device 209 may rely on software as a meansfor receiving data input or host signals. In some embodiments, theencoding device 209 may rely on a combination of hardware and softwareas a means for receiving signals. Data can be received by the encodingdevice 209 using hardware and embedded within the received signals usingsoftware associated with the encoding device 209. The data input or hostsignals may be directly uploaded to the encoding device 209 or sent viatext communication, voice communications and the like. In oneembodiment, the encoding device 209 is configured to automaticallyupload advertisements associated with a particular business entity. Inone embodiment, the encoding device 209 is configured to receive hostsignals and store them in memory 276 for later use. For example, in oneembodiment, the host signal is received by sending an .mp3 version ofthe signal to the encoding device 209. It should be noted that the hostsignal does not have to be limited to an .mp3 audio format, but may alsobe embodied by other forms of audio including, but not limited to, .wav,.wma, .raw, .m4a, and the like. As such, in an exemplary embodiment, thehost signal is a musical track.

At event 506, an encoded signal is generated by embedding data withinthe host signal. In one embodiment, the encoded signal is a watermarkspread across audible frequencies. The targeted location-basedcommunications system 100, 200, and/or 300 is capable of masking thewatermark to avoid detection by humans. The watermark may be adjustedbased on the characteristics of a host signal. To this extent, eachsignal must be individually watermarked. In one embodiment, the hostsignal is an audio signal such as a musical track, and encoding a signalcomprises the encoding device 209 having access to a key sequence thatis predetermined by the targeted location-based communication system100, 200, and/or 300. The encoding device 209 may be the applicationserver 106, the communication system 108, a standalone device, part ofanother device or component, or another device within the system capableof embedding data within a signal. The key sequence may be storeddirectly in the memory 276 of encoding device 209 or stored elsewhereand accessible to the communication device 272 associated with theencoding device 209.

The key sequence may be randomly generated by a pseudo-random keysequence generator. The embedded data may be expressed in binary and twokey sequences may be generated. A first key sequence is generated toexpress a 1-Bit, and a second key sequence is generated to express a0-Bit. In one embodiment, the second key sequence generated to express a0-Bit is a mirror image or the inverse of the first key sequencegenerated to express a 1-Bit.

Embedding data within the host signal may comprise amplifying/boostingand/or cutting by a positive and/or negative delta value associated withthe key sequence to generate a watermarked signal. In one embodiment, aspread spectrum watermark process may be used to embed data within thehost signal. In such an embodiment, data input and the host signal arepassed to an encoding device 209 such that a watermarked track isgenerated. The encoding device 209 may be or include an applicationcontained within the encoding device 209. In some embodiments, theencoding process requires information about the host signal for propermasking of the data input to occur. In such embodiments, the encodingdevice 209 may analyze the host signal to produce a unique watermarkthat is well-masked.

At event 508 the system is configured to transmit the encoded signal.The method may be executed by various system components such as theapplication server 106. In one embodiment, the method is executed by theencoding device 209. In such an embodiment, the encoding device 209 isassociated with an application 282 contained therein. The application282 is configured to execute several computer readable instructions 280for transmitting an encoded signal. The encoding device 209 may rely onsoftware and/or hardware as a means for transmitting an encoded signal.In such an embodiment the encoding device 209 may transmit the encodedsignal using the communication device 272 associated with the encodingdevice 209. The encoded signal may be transmitted to a playback deviceor broadcasting device as described above with reference to FIGS. 2and/or 3.

Some of the steps of method 500 may be further explained with referenceto FIG. 15, which is discussed at length below. As illustrated in FIG.15, in some embodiments, encoding the signal includes using a layeredspread spectrum. In such embodiments, individual bits are transmittedacross various frequencies throughout the spectrum. Specifically,multiple bits are transmitted simultaneously using multiple keysequences. Each key sequence may correspond to a bit being reported toan application. As such, the signal may be invariant over time. Thefrequency spectrum may be divided into twelve (12) bins represented bythe amplitudes shown in the illustrated embodiment. Likewise the keysequence may also have twelve (12) components, as illustrated in thefigures. It should be noted that while the illustrated embodiments havea key sequence with twelve (12) components, in other embodiments, thekey sequence may have any number of components. As illustrated in FIG.19, the layered spread spectrum may have twenty (20) frequency bins fortransmitting encoded information. The key sequences for a single bit mayonly correspond to certain frequency bins. For example, the key sequencefor Bit 1 may only correspond to the first, fifth, ninth, thirteenth,and seventeenth frequency bins, from bottom to top, respectively. In anexample where two bits are being transmitted the bits may alternatefrequencies. The first key sequence may be applied to all the odd numberbits, and the second key sequence may be applied to all the even numberbits. In one embodiment, key sequences may only operate on the frequencybins to which they are assigned. This feature may aid in increasing theaccuracy during decoding because an increased number of frequency binscorresponds to an increased accuracy during encoding.

Referring now to FIG. 6, another method 600 for providing an encodedsignal is illustrated. In some embodiments, method 600 may be a moredetailed version of the method 500 described with reference to FIG. 5.Method 600 may include reading a frame from an audio signal input atstep 602. In an exemplary embodiment, the audio signal is received inthe time domain; thus a predetermined amount of samples and/or framesmay be read. For example, a sixty (60) second audio signal may bereceived. The sixty (60) second audio signal may be divided in ten (10)frames such that ten (10)-six-second frames are received. The audioinput may be pulse-code modulation (PCM) data. In one embodiment, theaudio input is an analog signal represented in digital form.

At event 604, a frame is padded by appending zeros to the end of aframe. The number of zeroes added to the end of a frame may depend onthe length of the message vector. At event 606, the audio signalincluding the additional trailing zeros is transformed from the timedomain to the frequency domain. The audio signal may be transformedusing an algorithm such as a Fast Fourier Transform (FFT). Otheralgorithms may be used to transform a signal, including, but not limitedto, the discrete cosine transformation algorithm (DCT).

At event 608, a message vector is applied to the frequency components.The message vector may be generated using a random key sequence that isbased on one or more message bits. As illustrated in FIG. 7, event 608may include step 608A or 608B. Steps 608A and/or 608B may be used toapply a message vector to a plurality of frequency components. In oneembodiment, represented by event 720, applying a message to a pluralityof frequency components comprises the frequency components beingmultiplied by a message vector, where the message vector may be based ona message bit corresponding to the received input data. In an alternateembodiment, applying a message to a plurality of frequency componentscomprises converting the frequency components to decibels (dB) (step722), adding the message vector to the frequency components (step 724),and converting the sum of the message vector and frequency components toamplitudes (step 726).

Now referring back to FIG. 6, at event 610, the signal frame istransformed back to the time domain. The signal frame may be transformedback to the time domain using the inverse of the algorithm used totransform the signal to the frequency domain. For example, an audiosignal transformed to the frequency domain using FFT is transformed backto the time domain using the inverse Fast Fourier Transformation (iFFT).The prior referenced method steps are repeated for each sample in thetime domain such that, at event 612, each newly watermarked frame isappended to a previously watermarked frame. In one embodiment, thewatermarked frames may be appended such that the frames overlap withrespect to the trailing zeros appended to the end of each frame sample.This is commonly known as the “overlap-add” method. In anotherembodiment, rather than appending zeros to the end of the frame, theframe may be prepended with samples taken from the end of a previousframe. When combining the processed frames, these samples may be simplydiscarded. This is commonly known as the “overlap-save” method.

In one embodiment where FFT is used, the length of the FFT correspondsto one less than the transaction length plus the length of the secretkey. The transaction length may be chosen to result in optimalcomputational performance. For example, reducing the transaction lengthmay result in lower memory storage requirements, while increasing thetransaction length may result in less floating-point operations for agiven input. After choosing a value for the transaction length themessage vector may be adjusted to match the FFT length. When multiplyingthe frequency components by the message vector, at event 608, it may beapplied such that symmetry rules of real-input FFT are maintained. Tothis extent, the vector may be multiplied by the first half of thefrequency components. The other half of the frequency components maythen be set according to the symmetry rules of the real-input FFT, bytaking the complex conjugates of the first half. In some embodiments,when calculating the message vector, multiplication or convolution maybe used in either the time domain or the frequency domain.

Referring now to FIG. 8, a method 800 for providing targetedlocation-based communications is provided, in accordance withembodiments of the present invention. In an exemplary embodiment, themethod includes receiving an encoded signal at step 802. After thesignal has been received, embedded data may be obtained by decoding theencoded signal, as shown in step 804. The embedded data may then be sentto a server as shown at step 806. At least partially in response tosending the embedded data, a message is subsequently received at step808.

Method 800 may be executed by a number of devices. In an exemplaryembodiment, the method is executed by a mobile device 104. As such, themethod is described herein with reference to the mobile device 104. Itshould be noted, that while the mobile device 104 is the primary exampleused herein, the method 800 is also executable by other devices. Thus,as used herein, the term “mobile device” 104 may be interchanged withany other device capable of executing the method steps. Although themethod is described with references to only a single mobile device 104,the targeted location-based communication system environment 100, 200and/or 300 may execute the method 800 using multiple mobile devices 104.

In one embodiment, the mobile device 104 receives a plurality ofdifferent signals, including an encoded signal. As previously mentioned,at event 802 an encoded signal is received. The signals received by themobile device 104 may fall within a predefined frequency range that isestablished by at least one component within the targeted location-basedcommunication system environment 100, 200 and/or 300. The mobile device104 is configured to receive both audible and inaudible signals. In anexemplary embodiment, the signal received is a signal that is within theaudible human frequency range. To this extent, the signal received mayinclude frequencies within the range 20 Hz-20 kHz. For example, in oneembodiment, the encoded signal received is an audible music signal. Thesignal is generally perceptible by the human ear and can also bereceived by the mobile device 104. In an alternative embodiment, aninaudible signal is received. The inaudible signal is not perceivable bythe human ear but the mobile device 104 may be configured to receive theinaudible signal. To this extent, the inaudible signal received mayrange from values less than 20 Hz or greater than 20 kHz. In oneembodiment, the signal received is a combination of both an audiblesignal and an inaudible signal. For example, the embedded data may beconverted to an inaudible that is transmitted in conjunction with anaudible signal to a device.

In some embodiments, the mobile device 104 is associated with a computerapplication 122 contained therein. The application 122 is configured toexecute several computer readable instructions 120 for receivingsignals, more specifically the application 122 is configured to executeseveral computer readable instructions 120 for receiving encodedsignals. The mobile device 104 may solely rely on software as a meansfor receiving signals. Signals may be received directly or indirectly bythe mobile device 104. In particular, a mobile device 104 configured todirectly receive signals is capable of receiving a signal in response toan action. In one embodiment, the action requires opening an application122 associated with a particular business or entity. For example, theuser 102 carrying a mobile device 104 enters a business establishmentsuch as a grocery store. The user 102 then opens an application 122 thathas been provided by the business establishment on the user's mobiledevice 104. In response to opening the application the mobile device 104immediately beings to monitor to receive signals being transmittedwithin the business establishment. Signals can be received as soon asthey are detected by the mobile device 104. In an alternativeembodiment, the mobile device 104 is configured to indirectly receivesignals. The mobile device 104 may be capable of receiving a signalwithout the user 102 directly opening or accessing an application on themobile device 104. In one embodiment, the application 122 is configuredto run as a background process on the mobile device 104. Upon enteringthe business establishment, the mobile device 104 is configured toautomatically monitor to receive signals being transmitted within thebusiness establishment. Signals can be received by the mobile device 104as soon as they are detected by the mobile device 104. Additionally themobile device 104 may comprise music recognition software to aid inreceiving signals. To this extent, the music recognition software iscapable of determining what type of signals are being transmitted andonly receive a predetermined signal type. For example, in oneembodiment, the system is configured to only receive audio signals. Assuch, the music recognition software is capable of detecting that aparticular signal is an audio signal and bypassing all other detectedsignals from being received.

In contrast, the mobile device 104 may solely rely on hardware as ameans for receiving signals. In one embodiment, the mobile device 104 isequipped with additional hardware to aid in receiving signals. Forexample, the mobile device 104 may comprise hardware such as Bluetoothand/or other wireless technology that aids in receiving signals. Otherhardware to aid in receiving signals includes microphone hardwareassociated with the mobile device 104. For example, in one embodiment,the microphone hardware associated with the mobile device 104 is capableof receiving and the memory device 116 is capable of recording signalsthat are transmitted within a particular area where the mobile device104 is located. In some embodiments, the mobile device 104 may rely onboth a combination of hardware and software as a means for receivingsignals.

As previously mentioned, at event 802 an encoded signal is received. Inan exemplary embodiment, the encoded signal is a host signal that hasbeen embedded with data. In some embodiments, the data is transformedinto a signal such that the data signal can be masked by the host signaland collectively transmitted to the mobile device 104 as an encodedsignal. To this extent, upon receiving the encoded signal, the mobiledevice 104 is configured to decode the encoded signal and retrieve theembedded data contained therein, as illustrated by event 804.

In the illustrated embodiment, the mobile device 104 is associated withan application 122 contained therein. The application 122 is configuredto execute several computer readable instructions 120 for decodingsignals, more specifically the application 122 is configured to executeseveral computer readable instructions 120 for retrieving embedded datathat is contained within an encoded signal. As such, the mobile device104 may rely on software as a means for decoding signals. Signals may bedecoded directly or indirectly by the mobile device 104. In particular,a mobile device 104 configured to directly decode signals is capable ofdecoding a signal in response to an action, such as receiving an encodedsignal on the mobile device 104. In one embodiment, the action requiresopening an application 122 associated with a particular business orentity. For example, the user 102 enters a business establishment suchas a grocery store. The user 102 then opens an application 122 that hasbeen provided by the business establishment on his or her mobile device104. In response to opening the application, the mobile device 104immediately beings to monitor to receive signals being transmittedwithin the business establishment. Signals can be decoded as soon asthey are detected by the mobile device 104. In an alternativeembodiment, a mobile device 104 configured to indirectly decode signalsis capable of decoding a signal albeit of any additional actions beingexecuted by the user 102 or the mobile device 104. In other embodiments,the application 122 is configured to run as a background process on themobile device 104. It may not be necessary for the user 102 to open aparticular application prior to being able to decode a signal.Additionally the mobile device 104 may comprise music recognitionsoftware to aid in decoding signals. To this extent, the musicrecognition software is capable of determining what types of signals arebeing transmitted such that the mobile device 104 only decodes apredetermined signal type. For example, in one embodiment, the system isconfigured to only decode audio signals. As such, the music recognitionsoftware is capable of detecting that a particular signal is an audiosignal and bypassing all other detected signals from being decoded.

In one embodiment, decoding an encoded signal comprises the mobiledevice 104 having access to a key sequence that is predetermined by thetargeted location-based communication system 100, 200 and/or 300. Thekey sequence may be stored directly in the memory 600 of the mobiledevice 104 or stored elsewhere and accessible by the communicationdevice 312 associated with the mobile device 104.

In one embodiment, the key sequence is chosen by randomly alternating astatic delta value (δ) in the positive and/or negative direction. Forexample, as illustrated in FIG. 11, the key sequence for embedding a1-Bit may be +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ. In oneembodiment, the second key sequence generated to express a 0-Bit is amirror image or the inverse of the first key sequence generated toexpress a 1-Bit.

Likewise, as illustrated in FIG. 12, the key sequence for embedding a0-Bit is the inverse of the key sequence generated to embed a 1-Bit. Forexample, the key sequence for embedding a 0-Bit may be −δ, −δ, +δ, −δ,−δ, +δ, ⁻δ, +δ, −δ, +δ, +δ, +δ. In one embodiment, multiple bits areembedded within a host signal.

For example, as illustrated in FIG. 13, the key sequence may be adjustedat regular intervals according to the bit sequence. The bit sequence maybe provided at a rate of 1 bit per every millisecond. In an alternateembodiment, the bit sequence may be provided at a faster and/or slowerrate according to predetermined criteria. In the example illustrated inFIG. 13, the key sequence corresponding to the bit sequence 1, 0, 1, 1,0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1 for embedding 17 bits may be asfollows:

-   -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   0: −δ, −δ, +δ, −δ, −δ, +δ, ⁻δ, +δ, −δ, +δ, +δ, +δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   0: −δ, −δ, +δ, −δ, −δ, +δ, ⁻δ, +δ, −δ, +δ, +δ, +δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   0: −δ, −δ, +δ, −δ, −δ, +δ, ⁻δ, +δ, −δ, +δ, +δ, +δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   0: −δ, −δ, +δ, −δ, −δ, +δ, ⁻δ, +δ, −δ, +δ, +δ, +δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   0: −δ, −δ, +δ, −δ, −δ, +δ, ⁻δ, +δ, −δ, +δ, +δ, +δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ    -   1: +δ, +δ, −δ, +δ, +δ, −δ, ₊δ, −δ, +δ, −δ, −δ, −δ        To this extent, the key sequence is flipped or inversed each        time the bit sequence alternated from a “1” to a “0” or from a        “0” to a “1.”

In one embodiment, embedding data within the host signal may compriseamplifying/boosting and/or cutting by a positive and/or negative deltavalue associated with the key sequence to generate a watermarked signal.To this extent, the encoding device 209 may add or subtract differentamplitudes to or from the host signal. The amplitude may be equal to apositive or negative delta value.

Now referring to FIG. 14, FIG. 14 illustrates a sample frame of anoriginal signal which may be received by the system. The original signalmay function as a host signal capable of masking embedded data. The hostsignal may be any original signal that has not been previously altered.In an alternative embodiment, the host signal is a signal that has beenpreviously altered but is still capable of hosting further embeddingdata. The vertical axis of FIG. 14 represents the amplitude or gain ofthe host signal and the horizontal axis of FIG. 14 represents the timeframe or frequency of the host signal.

Now referring to FIG. 15, in some embodiments, the original/host signalmay be received in the time domain and converted to the frequencydomain. In such an embodiment, data may be embedded within the hostsignal at different frequency levels or ranges. The frequency levels maybe associated with several “frequency bins” which each represent adifferent frequency range. To this extent, data corresponding to asingle bit may be spread across several frequencies when being embeddedwithin the host signal. FIG. 15 illustrates an extracted portion of thehost signal that corresponds to a single bit, which may be referred toas Bit 1 throughout the specification. As illustrated in FIG. 19, theembedded data may include four (4) Bits. In various embodiments the datacould include fewer or substantially more bits. Referring back to FIG.15 and continuing the 4 bit example represented by FIG. 19, Bit 1 isrepresentative of a bit which is equivalent to the value of “1” (1-Bit)where components corresponding to the 1-Bit are spread across twelve(12) frequency bins (1, 5, 9, 13, 17, 21, 25, 29, 33, 37, 41 and 45).

The amplitude levels associated with the host/original signal areboosted by a +δ value or cut by a −δ value with respect to the keysequence for embedding a 1-Bit. Single amplitudes within the keysequence correspond to a single frequency bin within the host signal.This technique generates a watermarked signal having one or more valuesthat have been boosted and/or cut based on the key sequence of the bitbeing embedded. For example, the amplitude associated with the first andfifth frequency bins of the host signal are boosted by +δ. The amplitudeassociated with the ninth frequency bin of the host signal is cut by −δand so forth until each of the amplitudes within the host signal hasbeen boosted or cut by a positive of negative δ value, respectively.

In such an embodiment, retrieving the embedded data from within thewatermarked or encoded signal or “decoding the encoded signal” comprisesmultiplying the encoded signal by a first key sequence, as illustratedin FIG. 16. In order to retrieve the embedded data corresponding to Bit1, the frequency bins which Bit 1 are spread across must be multipliedby the first key sequence. Multiplying a signal by the key sequence maycomprise multiplying the amplitude of an individual frequency bin by thecorresponding amplitude of the key sequence. For example, in theillustrated embodiment, the watermarked signal corresponding to thefrequency bins of Bit 1 is multiplied by the secret key sequence. Forexample, the first amplitude (+δ) of the key-sequence is multiplied bythe amplitude associated with the first frequency bin, the secondamplitude of the key-sequence (+δ) is multiplied by the amplitudeassociated with the fifth frequency bin, and so forth. In an alternateembodiment, the amplitude values in each frequency bin of thewatermarked signal may be converted to decibels prior to multiplicationby the key sequence. In some embodiments, there may be a single keysequence which may be transformed into either a 1-Bit message vector ora 0-Bit message vector. The 1-Bit message vector may be equal to the keysequence. The 0-Bit message vector may be the inverse of the keysequence (i.e. the key sequence multiplied by negative one).

As illustrated in FIG. 17, multiplying the watermarked signal by the keysequence causes the values of the amplitudes to shift in the samedirection with respect to the positive and/or negative δ value. Forexample, if a positive δ value was applied to the host signal then thewatermarked signal is shifted in the positive direction with respect tothe x-axis (horizontal axis) after being multiplied by the key sequence.Likewise, if a negative δ value was applied to the host signal then thewatermarked signal is shifted in the negative direction with respect tothe x-axis after being multiplied by the key sequence. The amplitudes ofthe signal can then be averaged to obtain a value “r”, where r isapproximately equal to +δ if the value of the embedded bit is “1”, asillustrated in FIG. 18. In an instance that the value of the embeddedbit is “0” then r is approximately equal to −δ. In alternateembodiments, a decision rule is used to determine whether or not theembedded data is representative of a 1-Bit or a 0-Bit, the decision rulemay be a signal average greater than zero is a 1-Bit and a signalaverage less than zero is a 0-Bit. For example, if signal average isgreater than zero then the system determines that the signal isrepresentative of a 1-Bit. Likewise, if the signal average is less thanzero then the system determines that the signal is representative of a0-Bit. It should be noted that, in an exemplary embodiment, the decisionrule is applied to one frame (in time) of the signal, thus a decision isnot made for the entire signal at once, instead the system determineswhether or not a portion of the signal is representative of a 1-Bit or a0-Bit, thus multiple bits may be embedded within a single signal. Forexample, the system may determine whether the frequency binscorresponding to Bit 1 (e.g. frequency bins 1, 5, 9, 13, 17, 21, 25, 29,33, 37, 41 and 45) are representative of a 1-Bit or a 0-Bit.

Referring now to FIG. 9, a method 900 for decoding an encoded signal maycomprise reading a frame from an audio signal input 902. In an exemplaryembodiment, the audio signal is received in the time domain, thus apredetermined number of samples and/or frames may be read. The audioinput may be received using hardware such as a microphone. It should benoted that a sample and/or frame of a signal may be defined as anyportion of the signal that is less than the whole signal itself. Atevent 904, the audio signal is transformed from the time domain to thefrequency domain using Fast Fourier Transformation (FFT). The audiosignal is then converted to decibels at event 906. At event 908, thesystem computes bit estimators. This computation may be represented byr_(i)=Σ(k_(i)×d)_(j) where. The notation “k_(i)” is representative ofthe key sequence for Bit “I,” “d” is representative of the vector offrequency components in decibels, and the summation is applied to theone or more components represented by the notation “j.”

After retrieving a series of 1-Bits and 0-Bits, the bits cancollectively represent the embedded data masked by the host signal. Theembedded data may represent numbers, words, phrases, letters,alphanumeric combinations, and the like. At event 806, after retrievingthe embedded data, the embedded data is sent to a separate entity suchas the application server 106. The embedded data may be sent via text,SMS, email, voice communications, text communications, Bluetooth, RFID,and the like.

In one embodiment, the mobile device may receive a message, at event808, in response to sending the embedded data. The message may bereceived via text, SMS, email, voice communications, textcommunications, Bluetooth, RFID, and the like. The message could containan offer from a particular business, an advertisement, coupons,vouchers, and the like. In one embodiment, the message may betime-sensitive. For example, the message may contain an offer thatexpires if not used the day it is received. In another embodiment, themessage may be a form of visual indicia, such as a QR code, that can bepresented to the merchant at a point-of-sale device and redeemed for aspecial offer. Receiving a message may be solely based on the embeddeddata. For example, the embedded data may indicate the location of theuser 102, more specifically the business establishment in which the user102 is located. To this extent, the embedded data can be matched withone or more messages stored in the application server 106 that areindicated to be sent to a user. In another embodiment, receiving amessage may be based on one or more rules or secondary factors specifiedby the business or entity providing the communications. These one ormore factors may include, but not be limited to, time frame (e.g. day ofweek, month, time of day, etc.), location, and the like. For example,the mobile device 104 may receive a message based on the embedded dataand the fact that it is lunchtime, or in combination with theapplication of the mobile device.

Referring now to FIG. 10, a method 1000 for providing targetedlocation-based communications is illustrated, in accordance with oneembodiment of the present invention. In an exemplary embodiment, themethod first comprises a step 1002 for storing one or more messagesassociated with an entity. Additionally, the system is configured toreceive data from a device, as illustrated at step 1004. At block 1006,at least one of the one or more messages stored are then selected basedat least partially on the data received at step 1004. The system maythen send at least one of the one or more messages selected to aseparate entity, such as a mobile device 104, at block 1008.

The one or more messages sent to the separate entity may reflect offers,advertisements, and/or other information which an entity (a merchant, aretailer, a business, or the like) wants to communicate to the user 102.In one embodiment, messages are received from the communication system108 and stored in the memory device 136 of the application server 106,more specifically the data storage 138 of the application server 106.The messages may be stored in a data table that is referenced by apointer or a unique identifier. The pointer may correspond to theembedded data that is retrieved by the mobile device 104. In such anembodiment, upon receiving data, the application server 106 may use thedata to reference a data table where messages are stored. In this way,the application server 106 can match a user 102 with communicationswhich the associated entity and/or business want to send the user 102.The pointer may be an integer that corresponds to a message in thedatabase. The pointer may also correspond to a merchant name for whichone or more offers are available. For example, a user 102 carrying amobile device 104 may be shopping at Merchant A, and the mobile device104 may receive an encoded signal that is transmitted within the area.The mobile device 104 may then decode the encoded signal to retrieveembedded data and send the embedded data to the application server 106.The application server 106 may then use the data as a key to access atable and send the user 102 a message that is particular to the user 102and the user's current location, and received by the mobile device 104.

A key sequence may be used in embedding an audio signal. FIG. 11provides a diagram which illustrates the key sequence for embedding a1-Bit as part of the audio signal. As illustrated the key sequence for a1-Bit may be a randomly chosen sequence which alternates positive andnegative delta (6) values. For example, as illustrated in FIG. 11, thekey sequence for embedding a 1-Bit may be “+δ, +δ, −δ, +δ, +δ, −δ, ₊δ,−δ, +δ, −δ, −δ, −δ.” As stated above, one key sequence may be used toencode or decode either a 1-Bit message vector or a 0-Bit messagevector. In other embodiments, multiple keys may be used in a layeredspread spectrum method of encoding and decoding. For example, a firstkey sequence may be associated with Bit 1, a second key sequence may beassociated with Bit 2, a third key sequence may be associated with Bit3, and so on.

FIGS. 12-19 illustrate various method or process steps discussed ingreater detail above. More specifically, FIG. 12 provides a diagramwhich illustrates the key sequence for embedding a 0-bit. As illustratedthe key sequence for embedding a 0-bit may the mirror image of the keysequence for embedding a 1-bit. For example, as illustrated in FIG. 11,the key sequence for embedding a 1-Bit may be “−δ, −δ, +δ, −δ, −δ, +δ,⁻δ, +δ, −δ, +δ, +δ, +δ.” FIG. 13 provides a diagram which illustratesembedding multiple bits. As illustrated the bit sequence may bealternated at regular intervals based upon which bit is being embedded.FIG. 14 provides a diagram which illustrates a sample frame of anoriginal/host signal. As illustrated the amplitude of the signal mayvary at different intervals. FIG. 15 provides a diagram whichillustrates a watermarked frame for a 1-bit. As illustrated in FIG. 15,the amplitude levels associated with the host/original signal areboosted by a +δ value or cut by a −δ value with respect to the keysequence for embedding a 1-Bit. As represented in FIG. 15, singleamplitudes within the key sequence correspond to single amplitudeswithin the host signal. FIG. 16 provides a diagram which illustrates theprocess for recovering a message or embedded data from the watermarkedsignal. As illustrated the embedded data from within the watermarkedand/or encoded signal comprises multiplying the encoded signal by afirst key sequence associated with the 1-bit. FIG. 17 provides a diagramwhich further illustrates the process for recovering a message orembedded data from the watermarked signal. As illustrated in FIG. 17,multiplying the watermarked signal by the key sequence causes the valuesof the amplitudes to shift in the same direction with respect to thepositive and/or negative δ value. FIG. 18 provides a diagram whichfurther illustrates the process for recovering a message or embeddeddata from the watermarked signal. As illustrated in FIG. 17, multiplyingthe watermarked signal by the key sequence causes the values of theamplitudes to shift in the same direction with respect to the positiveand/or negative δ value.

FIG. 19 provides a diagram which illustrates a layered spread spectrumaccording to various embodiments of the invention. As illustrated inFIG. 19, the layered spread spectrum may have twenty (20) frequency binsfor transmitting encoded information. The key sequences for a single bitmay only correspond to certain frequency bins. For example, the keysequence for “Bit 1” may only correspond to the first, fifth, ninth,thirteenth, and seventeenth frequency bins, from top to bottom,respectively, and a different key sequence for “Bit 2” may onlycorrespond to the second, sixth, tenth, fourteenth, and eighteenthfrequency bins, from top to bottom, respectively. Hence, the value of“Bit 1”, for example, depends on the signal corresponding to the first,fifth, ninth, thirteenth, and seventeenth frequency bins, from top tobottom, respectively. For any particular instant in time or frame (intime) of the signal, the system should be able to determine the value ofeach of Bits 1-4, in this example. As previously noted, an exemplaryembodiment may utilize more frequency bins than illustrated in thefigures and may encode/decode more bits that illustrated in the figures.

In some embodiments, instead of encoding all data bits of a data signalat a first period in time of the host signal, the data bits of the datasignal are encoded in groups of bits. For example, for a data signalhaving twenty data bits, a first group of data bits including bits 1-5are encoded across the desired set of frequency bins. As the host signalprogresses in time to a second period, a second set of data bitsincluding bits 6-10 of the data signal are encoded across the same setof frequency bins as the first group of data bits had been during thefirst period. Similarly, as the host signal progresses in time to athird period, a third set of data bits including bits 11-15 of the datasignal are encoded across the same set of frequency bins as the firstand second groups had been during the first and second periods,respectively. Finally, as the host signal progresses in time to a fourthperiod, a fourth set of data bits including bits 16-20 of the datasignal are encoded across the same set of frequency bins as the first,second and third groups had been during the first, second and thirdperiods, respectively. In different embodiments, the sets of frequencybins may be different and/or may overlap only partially for differentgroups of bits and time periods. For example, the first group of bitsmay be encoded over a first bin of frequencies ranging from 10 kHz to 11kHz, the second group of bits may be encoded over a second bin offrequencies ranging from 11 kHz to 12 kHz, the third group of bits maybe encoded over a third bin of frequencies ranging from 12 kHz to 13 kHzand the fourth group of bits may be encoded over a fourth bin offrequencies ranging from 14 kHz to 15 kHz. In another example, one ormore of the frequency bins may overlap, such as the first group of bitsbeing encoded over the range of 10 kHz to 11 kHz and the second group ofbits being encoded over the range of 10.5 kHz to 11.5 kHz.

As shown in FIG. 20, an example 10 bit watermark signal is shown. Bits1-5 are the group 1 bits and bits 6-10 are the group 2 bits. As shown,the watermark is encoded across the ultrasonic spectrum from 20 kHz to22 kHz. During time period 1, the group 1 bits are encoded acrossfrequency bins within the range of 20 kHz to 21 kHz. During time period2, the group 2 bits are encoded across bins from the ranges 21 kHz to21.5 kHz and 20 kHz to 20.5 kHz. Then the pattern repeats with the thirdtime period so that the group 1 bits are encoded again. Thisencoding/decoding scheme may be implemented in either an audible-rangeimplementation or an ultrasonic watermark as discussed below.

Referring now to FIGS. 21-25, alternative methods for encoding anddecoding a data signal are discussed (collectively referred to herein asthe “ultrasonic watermarking” methods). These methods involve theultrasonic sound spectrum, namely, frequencies that are outside thehuman audible hearing range. Ultrasonic frequencies are generallyconsidered to be those above about 20 kHz, and in most embodiments ofthe invention, ultrasonic frequencies are considered to range from about20 kHz to about 22 kHz. In contrast to the audible-range encoding anddecoding methods discussed above, in general the ultrasonic watermarkingmethods do not require a host signal for encoding/decoding a datasignal.

Referring to FIG. 21, a flowchart illustrates a method 2100 for encodinga data signal over ultrasonic frequencies. The first step, representedby block 2110 is to select a key sequence. The key sequence is selectedat random and has an equal number of positive key sequence values asnegative key sequence values. The key sequence is selected as discussedin detail above with reference to FIG. 11.

The next step, represented by block 2120 is to determine which frequencybins correspond to negative key sequence values and set them to zero.The next step, represented by block 2130 is to generate a sine wavesignal for each of the frequency bins that correspond to positive keysequence values, or are “boosted.” Thus, a sine wave is generated foreach of the frequency bins that corresponds to a positive key sequencevalue of the random key sequence. This process may be executed viacomputer-readable code. Once the sine waves are generated for each ofthe frequency bins corresponding to positive key sequence values, allthe sine waves are summed, as represented by block 2140.

This method provides an advantage over some other methods because of thegreat difference between the decibel levels of the various frequencybins when moving from a “zero” to a “boosted” bin. For example, aboosted frequency bin may have a sound pressure level (SPL) of 70 dB andthe adjacent frequency bin will have a decibel level of zero dB underthis methodology. On the other hand, if the frequency bins associatedwith the negative key sequence values of the key sequence retained anSPL, then the difference between adjacent frequency bins may berelatively small. That is, the adjacent frequency bin may have an SPL of60 dB, which is only a 10 dB difference from the previous frequency bin,and therefore, may provide a greater opportunity for noise to degradethe encoded signal.

Referring to FIGS. 22A and 22B, the message vector is shown dividedamong multiple frequency bins. The corresponding frequency bins from thesecret key are also shown, similar to the illustration of FIG. 15described above; however, there is no host signal in this ultrasonicwatermarking implementation. In FIG. 22A, the watermarked signal iscreated by using only the positive key sequence values, or 1-Bits. Thenegative key sequence values of the secret key are removed such that themodified secret key includes a SPL of zero for the frequency binsassociated with negative key sequence values of the original secret key.Thus, only the frequency bins associated with positive key sequencevalues may be included in the message vector. Conversely, in FIG. 22B,the message vector is created using only the same secret key, maycorrespond with negative key sequence values, or 0-Bits. The keysequence may be multiplied by (−1) so that the negative key sequencevalues of the secret key become positive key sequence values. Onceflipped (i.e. multiplied by (−1)), the resulting negative key sequencevalues (i.e. the formerly positive key sequence values) may be removedsuch that the modified secret key includes a SPL of zero for thefrequency bins associated with positive key sequence values of theoriginal secret key. Thus, only the frequency bins associated withoriginally negative key sequence values (which are transformed intopositive key sequence values after the multiplication with (−1)) may beincluded in the 0-bit message vector. In some embodiments, themultiplication in 0-Bit encoding may occur before the positive keysequence values are removed from the secret key. In other embodiments,the multiplication in 0-Bit encoding may occur after the positive keysequence values are removed from the secret key.

In some embodiments, the same secret key used to encode the signal maybe used to decode the signal. As shown in FIG. 23A, the 1-Bit messagevector may be multiplied by the secret key. Conversely, as depicted inFIG. 23B, the 0-Bit message vector may be multiplied by the secret key.The resulting recovered signal may include positive key sequence values,negative key sequence values, or zero key sequence values.

As shown in FIGS. 24 and 25, in order to determine if the recoveredsignal represents a “1” or a “0” Bit, the apparatus may compute theaverage of the recovered signal's amplitudes. If the computed amplitudeaverage of the recovered signal is a positive numerical value, then itis determined that the recovered signal is a “1” Bit. Conversely, if thecomputed amplitude average of the recovered signal is a negativenumerical value, then it is determined that the recovered signal is a“0” Bit. The receiving device may then interpret the recovered signal asa “1” Bit or a “0” Bit and process accordingly.

As an example, the aforementioned watermarking technologies may beapplied to a retail shopping experience to increase customer engagement.When shopping at a retail location 2610, the user 102 may benefit fromreceiving an offer (a coupon, an advertisement, a deal, a message,information, or the like) at the point of sale. Because the user 102 mayalready be using his mobile device 104 to check prices or read reviewson particular products, there may be a need to transmit an offer to theuser's mobile device 104 while he is physically at the retail location2610.

FIGS. 26 through 35 illustrate embodiments of a system and method fortransmitting an offer to the user's mobile device 104 within apredetermined proximity of the retail location 2610. An apparatus (acomputing device, an application server, a program server, or the like)may be provided for executing this process.

FIG. 26 depicts a system overview for the present invention. The systemmay utilize a media distribution network 2600 associated with thepresent invention. The media distribution network 2600 may include acombination of the aforementioned technologies including watermarkingtechnologies, the application server 106, the playback device 210, theprogram server 207, the communication system 108, or the like and mayserve the purpose of transmitting media and messages to mobile devices104 within range of a predetermined area, such as a retail location2610.

As depicted in FIG. 26, the program server 207 may be configured orcontrolled by one or more entity. In some embodiments, the programserver 207 may be operated by the entity associated with the mediadistribution network 2600. In other embodiments, the program server 207may be operated by the retailer or business owner. In alternativeembodiments, the program server 207 may be operated by a third partysuch as an application provider, a coupon provider, a social network, orthe like. Lastly, a product supplier, an advertising agency, a marketingagency, or the like may manage the content of an advertising campaignfor the retailer or the third party wherein a message is transmitted tothe user's mobile device 104.

Each involved piece of the system depicted in FIG. 26 may include adefined role of operation. For example, the third party may provideaccess to developer content via a software developer kit (SDK), keys, orthe like. The advertising or marketing agency may manage the content ofthe message or offer and may handle how the content is distributed. Theagencies may also be under the supervision of the entity, the retailer,or the third party. In some embodiments, the agencies may coordinatewith a preexisting network of customers or with an application providerto push advertisements for products within the network 101. In otherembodiments, the entity, the retailer, and the third party may all bethe same entity. Furthermore, while the retailer may be enabled tochange to which retail locations 2610 the content may be distributed,the retailer may have no or limited access to the content managementplatform.

As described herein, FIGS. 27, 30, and 33 illustrate exemplary systemdiagrams of the present invention operating in a variety ofconfigurations. In some embodiments, the application server 106 mayinclude a content management system that may be controlled by the entityassociated with the present invention, as shown in FIG. 27. In otherembodiments, the application server 106 may be controlled by theretailer, as illustrated in FIG. 30. In alternative embodiments, theapplication server 106 may be controlled by a third party, as depictedin FIG. 33. The program server 207 is typically installed at one or moreretail location 2610 and may communicate with the application server 106and/or the user's mobile device 104 via the network 101.

In some embodiments, the message may be transmitted from the applicationserver 106 directly to the user's mobile device 104 as demonstrated inFIGS. 27 through 29. In other embodiments, the message may betransmitted from the application server 106 to the program server 2620.While this method may require the program server 207 to store themessage in memory, it may also enable the program server 207 todistribute the message to multiple computing devices (including theuser's mobile device 104) within the predetermined retail location 2610proximity. This may save time, storage space, and network bandwidth asopposed to transmitting the message from the application server 106directly to the mobile device 104 confirmed to be at the retail location2610.

In some embodiments, the message may be transmitted directly to theuser's mobile device 104 in the form of a text message, an email, analert, a notification, or the like. The message may include a pop-upwindow that enables the user 102 to select the message, redeem an offer,or to learn more information. When the user 102 selects the pop-upwindow, the apparatus may present an interface for learning moreinformation about the message or instructions on how to redeem an offer,an advertisement, or the like. Information associated with the messagemay include the duration of an offer, a discount, product information,or the like.

A program server 207 may be installed in a retail location 2610, whereinthe program server 207 is configured as described herein. The programserver 207 may scan the surrounding area at a predetermined distancefrom the physical location of the program server 207 for any mobiledevice 104 that may be associated with a potential customer.

Upon locating a mobile device 104, the program server 207 maycommunicate to the application server 106 to request to send a message,an advertisement, an offer, or the like to the mobile device 104. Thismethod ensures that the nearby mobile device 104 receives the message,which may be helpful in increasing sales leads, as well as cross-sellingin passerby shoppers, neighboring stores, or the like.

FIG. 28 depicts the process 2800 for transmitting the message directlyto the user's mobile device 104. At block 2810 the process includes theuser 102 having a mobile device 104 in possession. At block 2820 theprocess includes the user entering a proximity to a retail location2610. At block 2830 the process includes the user's mobile device 104being determined by the apparatus to be at a retail location 2610. Atblock 2840 the process includes the user 102 receiving a message on hismobile device 104, the message being transmitted by the apparatus inresponse to determining the user's mobile device 104 to be at the retaillocation 2610. FIG. 29 illustrates an example of this process 2800.

In other embodiments, the offer may be transmitted via an applicationassociated with the retailer as demonstrated in FIGS. 30 through 32. Forexample, if the user 102 opens Company A's application on his mobiledevice 104 while at the retail location 2610, then the apparatus maypresent a message, an offer, an advertisement, an alert, a notification,or the like inside the retailer application. The offer may include apop-up window that enables the user 102 to select the message, redeem anoffer, or to learn more information. When the user 102 selects thepop-up window, the apparatus may present an interface for learning moreinformation about the message or instructions on how to redeem an offer,an advertisement, or the like. Information associated with the messagemay include the duration of an offer, a discount, product information,or the like. FIG. 30 illustrates an exemplary system for transmittingthe message directly to the user's mobile device 104 via an applicationassociated with the retailer.

FIG. 31 depicts the process 3100 for transmitting the message directlyto the user's mobile device 104 via an application associated with theretailer. At block 3110 the process includes the user 102 having amobile device 104 in possession, wherein the mobile device 104 includesan installed application associated with a retailer. At block 3120 theprocess includes the user 102 entering a proximity to a retail location2610. At block 3130 the process includes the user's mobile device 104being determined by the apparatus to be at a retail location 2610. Atblock 3140 the process includes the user 102 receiving a message on hismobile device 104 via the application associated with the retailer, themessage being transmitted from the apparatus in response to determiningthe user's mobile device 104 to be at the retail location 2610. FIG. 32exemplifies this process 3100.

In alternative embodiments, the message may be transmitted via a thirdparty application. For example, if the user 102 opens an application onhis mobile device 104 that is strictly purposed for providing coupons,the message associated with the retail location 2610 may present analert, a notification, an offer, or the like inside the third partyapplication. The message may include a pop-up window that enables theuser 102 to select an offer, redeem the offer, or to learn moreinformation. When the user 102 selects the pop-up window, the apparatusmay present an interface for learning more information about the messageor instructions on how to redeem an offer. Information associated withthe offer may include the duration of the offer, a discount, productinformation, or the like. FIG. 33 illustrates an exemplary system fortransmitting the offer directly to the user's mobile device 104 via anapplication associated with a third party application.

In some embodiments, the user 102 may not need to open the applicationassociated with the retailer or the third party. The message or offermay be presented directly to the user's mobile device 104. In otherembodiments, the mobile device 104 may or may not require installationof a particular application to communicate with the program server 207or the application server 106. The present invention may be configuredto automatically transmit and receive information. For example, themobile device 104 may automatically listen for watermarked signals atall times. When the program server 207 at a retail location 2610determines that the mobile device 104 is within a predetermined distanceof a location of interest (e.g., a retail location 2610), theapplication server 106 or the program server 207 may automaticallytransmit a message, a notification, an offer, or the like to the mobiledevice 104.

FIG. 34 depicts the process 3400 for transmitting the message directlyto the user's mobile device 104 via a third party application. At block3410 the process includes the user 102 having a mobile device 104 inpossession, wherein the mobile device 104 includes a downloadedapplication associated with a third party. At block 3420 the processincludes the user 102 entering a proximity to a retail location 2610. Atblock 3430 the process includes the user's mobile device 104 beingdetermined by the apparatus to be at a retail location 2610. At block3440 the process includes the user 102 opening the applicationassociated with the third party. At block 3450 the process includes theuser 102 receiving a message on his mobile device 104 via theapplication associated with the third party, the message beingtransmitted from the apparatus in response to being determined by theapparatus to be at a retail location 2610. FIG. 35 exemplifies thisprocess 3400.

As an example, the present invention may recognize that the user 102 hasentered within a predetermined proximity to a retail location 2610. Theapparatus may present to the user's mobile device 104 a message in theform of a banner, a text message, an SMS message, an image, a pop-upwindow, or the like. The user 102 may select the message on the mobiledevice 104 and may be presented with more information associated with anoffer (or a deal, an advertisement, or the like). The offer may bepresented to the user 102 via a website, an application, a pop-upwindow, or the like. In some embodiments, the user 102 may redeem theoffer directly from his mobile device 104 or apply to it a purchasewhile at the retail location 2610.

The present invention may also include a content management platformassociated with the program server 207, the playback device 210, and/orthe application server 106. In some embodiments, the content managementplatform may enable the retailer to generate or manage the content of anoffer, an advertisement, a message, an image, text, a length of anadvertisement campaign, a location of an offer, or the like. The offer(or message, advertisement, or the like) may be stored by the contentmanagement platform for later recall and/or distribution. In otherembodiments, the present invention may be configured to enable theretailer to purchase or manage advertising space. In alternativeembodiments, the present invention may include analytics to allow theretailer or a third party advertising or marketing agency to trackprogress of an advertising campaign. The content management platform mayalso enable the entity, the retailer, or a third party to modify thecontent at various times throughout the day.

The present invention may include at least one interface for retailercontent management. The interface may be located inside a retaillocation 2610. In some embodiments, one interface may enable theretailer to manage the content or advertising campaign for multipleretail locations 2610, including a subset of retail locations 2610. Forexample, if a retailer has multiple stores, the retailer may configurethe content management system to operate over a particular geographicarea, such as the stores in a specific state, county, country, or thelike. Multiple interfaces may also control the same retail location's2610 content management system. Thus, the present invention may allowfor the content management system to be controlled or configured from acentral location.

FIGS. 36 through 41 illustrate exemplary user interfaces for the presentinvention. FIG. 36 shows how the user (an entity, a retailer, amarketer, an advertiser, an application provider, or the like) maymanage campaigns via the content management platform. FIG. 37 depictshow the user may select a campaign type. FIG. 38 shows how the user maycreate a campaign type. FIG. 39 presents a sample analytics overview ofthe campaigns and includes the ability to sort by location or bycampaign title. FIG. 40 illustrates an information page where the usermay learn more about how the present invention works and creates value.FIG. 41 is an illustrated schedule feature for managing campaigndurations, locations, or the like. A campaign may be edited orcontrolled for a predetermined period of time or day.

All in all, the present invention may promote customer use of theretailer's application while in the store. By providing the user 102with a message including deals or offers, the retailer can incentivizeuse of the retailer's application. Increased use of the retailer'sapplication may increase customer awareness of products and coupons,thus potentially generating more sales revenue.

The system may be further configured to collect information associatedwith the user's mobile device 104 (and therefore the user 102). In someembodiments, collected information may include contact information,demographic information, network identification information, an IPaddress, transaction information (including a transaction history),customer purchasing habits, information associated with an account, orthe like. The information may be transmitted from the user's mobiledevice 104 to the program server 207 or the application server 106 viathe network 101, a wireless network, a satellite network, a Wi-Finetwork, audio watermarking technologies, or the like.

The purpose of collecting this information may be to amass a database ofmetrics so the entity may better understand its customers. For example,a retailer may be able to process the collected information using avariety of methods or algorithms to gauge how many customers are at aretail location 2610 during a particular period of time or how manypurchases of items were made, to calculate a sales conversion rate, orthe like. The type processing may be determined by the entity, theretailer, or the third party. Hence, collecting information associatedwith the user's mobile device 104 may increase awareness of customerhabits and may potentially increase sales revenue.

Any of the features described herein with respect to a particularprocess flow are also applicable to any other process flow. Inaccordance with embodiments of the invention, the term “module” withrespect to a system may refer to a hardware component of the system, asoftware component of the system, or a component of the system thatincludes both hardware and software. As used herein, a module mayinclude one or more modules, where each module may reside in separatepieces of hardware or software.

Although many embodiments of the present invention have just beendescribed above, the present invention may be embodied in many differentforms and should not be construed as limited to the embodiments setforth herein; rather, these embodiments are provided so that thisdisclosure will satisfy applicable legal requirements. Also, it will beunderstood that, where possible, any of the advantages, features,functions, devices, and/or operational aspects of any of the embodimentsof the present invention described and/or contemplated herein may beincluded in any of the other embodiments of the present inventiondescribed and/or contemplated herein, and/or vice versa. In addition,where possible, any terms expressed in the singular form herein aremeant to also include the plural form and/or vice versa, unlessexplicitly stated otherwise. Accordingly, the terms “a” and/or “an”shall mean “one or more,” even though the phrase “one or more” is alsoused herein. Like numbers refer to like elements throughout.

As will be appreciated by one of ordinary skill in the art in view ofthis disclosure, the present invention may include and/or be embodied asan apparatus (including, for example, a system, machine, device,computer program product, and/or the like), as a method (including, forexample, a business method, computer-implemented process, and/or thelike), or as any combination of the foregoing. Accordingly, embodimentsof the present invention may take the form of an entirely businessmethod embodiment, an entirely software embodiment (including firmware,resident software, micro-code, stored procedures in a database, or thelike), an entirely hardware embodiment, or an embodiment combiningbusiness method, software, and hardware aspects that may generally bereferred to herein as a “system.” Furthermore, embodiments of thepresent invention may take the form of a computer program product thatincludes a computer-readable storage medium having one or morecomputer-executable program code portions stored therein. As usedherein, a processor, which may include one or more processors, may be“configured to” perform a certain function in a variety of ways,including, for example, by having one or more general-purpose circuitsperform the function by executing one or more computer-executableprogram code portions embodied in a computer-readable medium, and/or byhaving one or more application-specific circuits perform the function.

It will be understood that any suitable computer-readable medium may beutilized. The computer-readable medium may include, but is not limitedto, a non-transitory computer-readable medium, such as a tangibleelectronic, magnetic, optical, electromagnetic, infrared, and/orsemiconductor system, device, and/or other apparatus. For example, insome embodiments, the non-transitory computer-readable medium includes atangible medium such as a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), a compact discread-only memory (CD-ROM), and/or some other tangible optical and/ormagnetic storage device. In other embodiments of the present invention,however, the computer-readable medium may be transitory, such as, forexample, a propagation signal including computer-executable program codeportions embodied therein.

One or more computer-executable program code portions for carrying outoperations of the present invention may include object-oriented,scripted, and/or unscripted programming languages, such as, for example,Java, Perl, Smalltalk, C++, SAS, SQL, Python, Objective C, JavaScript,and/or the like. In some embodiments, the one or morecomputer-executable program code portions for carrying out operations ofembodiments of the present invention are written in conventionalprocedural programming languages, such as the “C” programming languagesand/or similar programming languages. The computer program code mayalternatively or additionally be written in one or more multi-paradigmprogramming languages, such as, for example, F#.

Some embodiments of the present invention are described herein withreference to flowchart illustrations and/or block diagrams of apparatusand/or methods. It will be understood that each block included in theflowchart illustrations and/or block diagrams, and/or combinations ofblocks included in the flowchart illustrations and/or block diagrams,may be implemented by one or more computer-executable program codeportions. These one or more computer-executable program code portionsmay be provided to a processor of a general purpose computer, specialpurpose computer, and/or some other programmable data processingapparatus in order to produce a particular machine, such that the one ormore computer-executable program code portions, which execute via theprocessor of the computer and/or other programmable data processingapparatus, create mechanisms for implementing the steps and/or functionsrepresented by the flowchart(s) and/or block diagram block(s).

The one or more computer-executable program code portions may be storedin a transitory and/or non-transitory computer-readable medium (e.g., amemory or the like) that can direct, instruct, and/or cause a computerand/or other programmable data processing apparatus to function in aparticular manner, such that the computer-executable program codeportions stored in the computer-readable medium produce an article ofmanufacture including instruction mechanisms which implement the stepsand/or functions specified in the flowchart(s) and/or block diagramblock(s).

The one or more computer-executable program code portions may also beloaded onto a computer and/or other programmable data processingapparatus to cause a series of operational steps to be performed on thecomputer and/or other programmable apparatus. In some embodiments, thisproduces a computer-implemented process such that the one or morecomputer-executable program code portions which execute on the computerand/or other programmable apparatus provide operational steps toimplement the steps specified in the flowchart(s) and/or the functionsspecified in the block diagram block(s). Alternatively,computer-implemented steps may be combined with, and/or replaced with,operator- and/or human-implemented steps in order to carry out anembodiment of the present invention.

While certain exemplary embodiments have been described and shown in theaccompanying drawings, it is to be understood that such embodiments aremerely illustrative of and not restrictive on the broad invention, andthat this invention not be limited to the specific constructions andarrangements shown and described, since various other changes,combinations, omissions, modifications and substitutions, in addition tothose set forth in the above paragraphs, are possible. Those skilled inthe art will appreciate that various adaptations, modifications, andcombinations of the just described embodiments can be configured withoutdeparting from the scope and spirit of the invention. Therefore, it isto be understood that, within the scope of the appended claims, theinvention may be practiced other than as specifically described herein.

1. A system for providing communications to users present at a selectedlocation, the system comprising: a searchable database comprising one ormore messages stored at respective storage locations in said searchabledatabase; a message server in communication with said searchabledatabase and configured for storing in and retrieving messages from saidsearchable database; a content management server configured to store oneor more instructions associated with a message stored in said searchabledatabase, where the instructions comprise information for encoding asignal with embedded data indicating the storage location of a messagein the searchable database; at least one encoding device incommunication with said content management server configured to use theinstructions stored in the content management server to generate anencoded signal associated with the message stored in said searchabledatabase; at least one broadcast device in communication with said atleast one encoding device and configured to broadcast an encoded signalassociated with the message stored in said searchable database at theselected location; and wherein the message server is further configuredto: receive a return signal transmitted by at least one mobile devicecarried by at least one user in the selected location in response to theat least one mobile device identifying and decoding the encoded signaltransmitted by said broadcast device, wherein the return signal from themobile device indicates the storage location of the message in thesearchable database associated with the encoded signal identified anddecoded by the mobile device; select the message associated with thestorage location of the searchable database indicated in the returnsignal; and send the selected message to the at least one mobile device.2. The system of claim 1, wherein: the users are present in at least onelocation of a plurality of locations; the one or more messages areassociated with a messaging campaign of a third party entity in asearchable database based on instructions received from the third partyentity through a messaging campaign interface operatively connected withthe message server; the at least one encoding device is maintained by amedia distribution entity to generate at least one encoded signalcomprising the embedded data and based at least in part on instructionsfrom the content management server; and wherein the system furthercomprises: a plurality of broadcast devices, maintained by the mediadistribution entity, to broadcast the at least one encoded signalproximate at least one of the plurality of locations based at least inpart on instructions from the content management server.
 3. The systemof claim 2, wherein the the content management server comprises themessage server.
 4. The system of claim 2, wherein the third party entitycomprises a product supplier that supplies at least one product to theat least one location and the selected at least one message isassociated with the at least one product.
 5. The system of claim 2,wherein the media distribution entity manages a media distributionnetwork comprising the plurality of broadcast devices and the at leastone encoding device.
 6. The system of claim 5, wherein at least one of aplurality of encoding devices is operably connected to each of theplurality of broadcast devices and wherein each encoding devicegenerates at least one encoded signal based at least in part oninstructions from the content management server.
 7. The system of claim6, wherein the instructions from the content management server arereceived by the content management server from the third party entitythrough the messaging campaign interface operatively connected with thecontent management server.
 8. The system of claim 6, wherein theinstructions from the content management server are received by thecontent management server from the media distribution entity through amedia distribution interface operatively connected with the contentmanagement server.
 9. A computer program product for providingcommunications to users present at a selected location of a plurality oflocations, the computer program product comprising: a non-transitorycomputer-readable medium comprising a set of codes for causing acomputer to: store one or more messages, by a message server on asearchable database each at respective storage locations in saidsearchable database, wherein the messages are associated with amessaging campaign of a third party entity in the searchable databasebased on instructions received from the third party entity through amessaging campaign interface operatively connected with the messageserver; store one or more instructions, by a content management server,wherein the instructions are associated with a message stored in saidsearchable database and associated with the messaging campaign of thethird party entity, wherein the instructions comprise information forencoding a signal with embedded data indicating the storage location ofa message in said searchable database; generate, by at least oneencoding device maintained by a media distribution entity and in contactwith said content management server and using the instructions stored inthe content management server, an encoded signal associated with themessage stored in said searchable database; broadcast at the selectedlocation, by at least one broadcast device maintained by the mediadistribution entity and in communication with said at least one encodingdevice, the encoded signal associated with the message stored in saidsearchable database; receive, by the message server, a return signaltransmitted by at least one mobile device carried by at least one userin the selected location in response to the at least one mobile deviceidentifying and decoding the encoded signal transmitted by saidbroadcast device, wherein the return signal from the mobile deviceindicates the storage location of the message in the searchable databaseassociated with the encoded signal identified and decoded by the mobiledevice; select, by the message server, the message associated with thestorage location of the searchable database indicated in the returnsignal; and send, by the message server, the selected message to the atleast one mobile device.
 10. The computer program product of claim 9,wherein the message server comprises the content management server orthe content management server comprises the message server.
 11. Thecomputer program product of claim 9, wherein the third party entitycomprises a product supplier that supplies at least one product to theat least one location and the selected at least one message isassociated with the at least one product.
 12. The computer programproduct of claim 9, wherein the media distribution entity manages amedia distribution network comprising the plurality of broadcast devicesand the at least one encoding device.
 13. The computer program productof claim 12, wherein at least one of a plurality of encoding devices isoperably connected to each of the plurality of broadcast devices andwherein each encoding device generates at least one encoded signal basedat least in part on instructions from the content management server. 14.The computer program product of claim 13, wherein the instructions fromthe content management server are received by the content managementserver from the third party entity through the messaging campaigninterface operatively connected with the content management server. 15.The computer program product of claim 13, wherein the instructions fromthe content management server are received by the content managementserver from the media distribution entity through a media distributioninterface operatively connected with the content management server. 16.A method for providing communications to users present at a selectedlocation of a plurality of locations, the method comprising: storing oneor more messages, by a message server on a searchable database each atrespective storage locations in said searchable database, wherein themessages are associated with a messaging campaign of a third partyentity in the searchable database based on instructions received fromthe third party entity through a messaging campaign interfaceoperatively connected with the message server; storing one or moreinstructions, by a content management server, wherein the instructionsare associated with a message stored in said searchable database andassociated with the messaging campaign of the third party entity,wherein the instructions comprise information for encoding a signal withembedded data indicating the storage location of a message in saidsearchable database; generating, by at least one encoding devicemaintained by a media distribution entity and in contact with saidcontent management server and using the instructions stored in thecontent management server, an encoded signal associated with the messagestored in said searchable database; broadcasting, broadcast at theselected location, by at least one broadcast device maintained by themedia distribution entity and in communication with said at least oneencoding device, the encoded signal associated with the message storedin said searchable database; receiving, by the message server, a returnsignal transmitted by at least one mobile device carried by at least oneuser in the selected location in response to the at least one mobiledevice identifying and decoding the encoded signal transmitted by saidbroadcast device, wherein the return signal from the mobile deviceindicates the storage location of the message in the searchable databaseassociated with the encoded signal identified and decoded by the mobiledevice; selecting, by the message server, the message associated withthe storage location of the searchable database indicated in the returnsignal; and sending, by the message server, the selected message to theat least one mobile device.
 17. The method of claim 16, wherein themessage server comprises the content management server or the contentmanagement server comprises the message server.
 18. The method of claim16, wherein the third party entity comprises a product supplier thatsupplies at least one product to the at least one location and theselected at least one message is associated with the at least oneproduct.
 19. The method of claim 16, wherein the media distributionentity manages a media distribution network comprising the plurality ofbroadcast devices and the at least one encoding device.
 20. The methodof claim 19, wherein at least one of a plurality of encoding devices isoperably connected to each of the plurality of broadcast devices andwherein each encoding device generates at least one encoded signal basedat least in part on instructions from the content management server. 21.The method of claim 20, wherein the instructions from the contentmanagement server are received by the content management server from thethird party entity through the messaging campaign interface operativelyconnected with the content management server.
 22. The method of claim20, wherein the instructions from the content management server arereceived by the content management server from the media distributionentity through a media distribution interface operatively connected withthe content management server.
 23. A system for providing communicationsto users present at a selected location of a plurality of locations, thesystem comprising: a searchable database comprising one or more messagesstored at respective storage locations in said searchable database; amessage server in communication with said searchable database andconfigured for storing in and retrieving messages from said searchabledatabase based on instructions received from the third party entitythrough a messaging campaign interface operatively connected with themessage server; a content management server configured to store one ormore instructions associated with a message stored in said searchabledatabase and associated with the messaging campaign of the third partyentity, where the instructions comprise information for encoding asignal with embedded data indicating the storage location of a messagein the searchable database; at least one encoding device, maintained bya media distribution entity and in communication with said contentmanagement server, configured to use the instructions stored in thecontent management server to generate an encoded signal associated withthe message stored in said searchable database; at least one broadcastdevice, maintained by the media distribution entity and in communicationwith said at least one encoding device, configured to broadcast anencoded signal associated with the message stored in said searchabledatabase at the selected location; a mobile device application runningon at least one mobile device carried by a user in the selectedlocation, the mobile device application configured to decode the encodedsignal to determine the embedded data and communicate a return signalindicating the storage location of the message in the searchabledatabase associated with the decoded embedded data; and wherein themessage server is further configured to: receive a return signaltransmitted by the at least one mobile device in response to the atleast one mobile device identifying and decoding the encoded signaltransmitted by said broadcast device, wherein the return signal from themobile device indicates the storage location of the message in thesearchable database associated with the encoded signal identified anddecoded by the mobile device; select the message associated with thestorage location of the searchable database indicated in the returnsignal; and send the selected message to the mobile device applicationrunning on the at least one mobile device.
 24. The system of claim 23,wherein the mobile device application comprises an applicationmaintained by the third party entity.
 25. The system of claim 23,wherein the mobile device application comprises an applicationmaintained by a second third party entity without access to themessaging campaign interface or the one or more messages associated withthe messaging campaign of the third party entity.
 26. The system ofclaim 25, wherein the mobile device application further comprises adecoding application comprising a decoding key for use in decoding theat least one encoded signal, the decoding application provided by themedia distribution entity to the second third party entity forintegration with the application of the second third party entity; andwherein the media distribution entity manages access by the third partyto the messaging campaign by associating the third party with anadministrator role; and wherein the administrator role is configured forproviding access to the managing campaign using the messaging campaigninterface.